在delphi中如何调用SQL SERVER的存储过程,请举一例子(急)!(50分)

  • 主题发起人 主题发起人 恰克
  • 开始时间 开始时间

我用的是ADO技术,在面板上放置一个Connectiono控件和一个存储控件,建立连接
后,进行如下调用即可:
ss:String;
MyStroe.Connection:=MyConn;
MyStroe.ProcedureName:='sp_databases';
MyStroe.ExecProc;
MyStroe.Open;
while not MyStroe.Eof do
begin
ss:=MyStroe['DATABASE_NAME'];
end;
 
存储过程没错吧?
1)放一个tstoredproc
2)指定databasename
3)storprocname指定存储过程名
4)单击params属性边上的省略号,选定一个,paramtype必须设定,input,output...
datatype也设顶
 
最好的办法是在query中直接调用,
例如:sp_helpuser
则是:query1.sql.add('sp_helpuser zhang');
query1.open;

只要是有返回结果的,用open,没有的用execsql;
 
如果在后台写存贮过程:
@id int output
select * from table1 where id=@id

在前台调用:
storedproc1.storedprocname:='存贮名';
with storedproc1 do
begin
close;
parambyname('@id').asinteger:=1;
open;
end;
 
还可以在前台生成存储过程,然后传给服务器执行:
如:
clientdataset.close
clientdataset.commangtext:='select * from my table where Name= '
clientdataset.commangtext:=clientdataset.commangtext+edit1.text;
clientdataset.open

很方便,很快。
 
接受答案了.
 
后退
顶部