使用原生ADO的一些问题(100分)

  • 主题发起人 主题发起人 hhjjhhjj
  • 开始时间 开始时间
H

hhjjhhjj

Unregistered / Unconfirmed
GUEST, unregistred user!
1:怎样用原生ADO来执行存储过程?(要返回数据集的)....
 
在ADO组件中,执行存储过程的类是TADOStoredProc.所以你只要参考这个类的实现就可以得到答案了.
var cnn:variant;
begin
cnn:=CreateOleObject('ADODB.Connection');
//这个连接串是Jet.OLEDB相对于access的,SQL Server的自已解吧,可从ADOConnection的ConnectionString中Copy
cnn.open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/Documents and Settings/Administrator/My Documents/db1.mdb;Persist Security Info=False');
cnn.p1;//p1就是一个存储过程
end;

或者:
能过创建_Command么Execute与参数这么不知道怎么写,里面参数太多不知道哪个是干吗的
ADOConn := CreateOleObject('ADODB.Command') AS _Command;
ADOConn.CommandType := ...;
ADOConn.CommandText := '';
R = ADOConn.Execute('Exec ...', cmdStoredProc); // R是_RecordSet集合
 
在存储过程里要有SELECT显示数据,再程序里OPEN你的存储过程就可以了。
技术交流QQ:136293586
 
想问一个问题
在很多台湾的书中看到"原生"这个词
比如原生的代码,原生的ADO等等
想知道怎样理解"原生"
 
我想问的是:
用一个Recordset来接收command执行的有返回数据集的存储过程后,怎样把这个Recordset里的数据集表现出来.
recordset := Command.execute.
之后,怎样操作recordset...?
 
procedure TForm1.Button1Click(Sender: TObject);
var
aconnect : variant;
ConnectionString : string;
ARecordSet : _Recordset;
ds:TDataSet;
begin
aconnect := createoleobject('adodb.connection');
connectionstring := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Javascript/News.MDB;Persist Security Info=False';
AConnect.Open( ConnectionString );
showmessage('连接成功');

ARecordSet:=CreateOleObject('ADODB.RecordSet') as _Recordset;//直接通过指针
ARecordSet.Open('Select * from type',aconnect,3,3,1);
ds:=TADODataSet.Create(self);
TCustomADODataSet(ds).Recordset:=ARecordSet;
DataSource1.DataSet:=ds;///recodeset传给grid

end;
其他的就自己看吧
个人建议用query较为简单

楼主是vb转过来的吧
 
可能是我没有说清楚,比如用Delphi的ADO时:在
ADODataset.Recordset := ADOCommand1.Execute(一有Select的存储过程);后
怎样使用(操作)ADODataset.Recordset这个数据集?比如怎样把这个数据集合里的记录从第一条到最后一条写到listview里,
 
ADODataset.first;
while not ADODataset d
begin
//你的代码.....
ADODataset.next;
end;
 
多人接受答案了。
 
后退
顶部