回 帖 发 新 帖 刷新版面

主题:[讨论]在Dephi中怎样调用SQL2000存储过程

在Dephi中怎样调用SQL2000存储过程
无参数的存储过程名称:yy
含有参数的存储过程名称:xx,输入参数@jb,@xh;输出参数@fs.
我在Dephi中调用存储过程yy代码如下:
…………
begin
ADOStoredproc1.close;
adoconnecting.close;
ADOStoredproc1.connectionstring:='……';
(连接在这省了)
ADOStoredproc1.proedureName:='yy';
ADOStoredproc1.open;
DataSource1.Dataset:=ADOStoredproc1;
DBGrid1.DataSourcs:=DataSource1
end;
数据能够正常显示在网格中;
请问:我怎样以上方式调用含有参数的存储过程xx??最好能给代码参考,谢谢了!

回复列表 (共4个回复)

沙发

begin
ADOStoredproc1.close;
adoconnecting.close;
ADOStoredproc1.connectionstring:='……';
(连接在这省了)
ADOStoredproc1.proedureName:='yy';
ADOStoredproc1.Parameters.Createparamete('@jb',ftwidestring,pdinput,50,str)=输入值1;
ADOStoredproc1.Parameters.Createparamete('@xh',ftwidestring,pdinput,50,str)=输入值2;
ADOStoredproc1.open;
i:=ADOStoredproc1.parameters.CreateParamete('@fs',ftwidestring,pdOutPut,50,str);
DataSource1.Dataset:=ADOStoredproc1;
DBGrid1.DataSourcs:=DataSource1
end;

板凳


是'xx'[em12]

3 楼

参考:
假如存储过程是tt,且参数是@int,@varchar。
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('Execute tt '+''''+(int)+''''+','+''''+(varchar)+'''');
adoquery1.execsql;
其中()中的是对应@int,@varchar。

4 楼

一楼的兄弟提示有问题:[Error]unit1.pas:'('expected but ')' found
暂不评分,调试成功后方给满分
要求用ADOStoredproc1调用,能解决以上问题均给满分的哦!!!谢谢各位的帮忙!

我来回复

您尚未登录,请登录后再回复。点此登录或注册