有这样一个存储函数:
create proc sp_Name
@a varchar,
@b varchar output,
@c varchar output,
as
begin
select @b=x,@c=y from tableName
where z=@a
end
go
在DELPHI中,用一个storedproc 调用这个函数
能用一个DBGrid显示出查询的结果吗?
我的语句如下:
storedproc1.prepare;
storedproc1.parambyname('@a').asstring:=Edit1.text;
storedproc1.execproc;
如果能,那我的怎么就不行?
如果不能,那我改做点什么让它能呢?:P
create proc sp_Name
@a varchar,
@b varchar output,
@c varchar output,
as
begin
select @b=x,@c=y from tableName
where z=@a
end
go
在DELPHI中,用一个storedproc 调用这个函数
能用一个DBGrid显示出查询的结果吗?
我的语句如下:
storedproc1.prepare;
storedproc1.parambyname('@a').asstring:=Edit1.text;
storedproc1.execproc;
如果能,那我的怎么就不行?
如果不能,那我改做点什么让它能呢?:P
adoquery.sql.text='excute sp_name//这里有个空格'+quotedstr(edit1.text)+'b,c';
adoquery.open();
b=adoquery.fieldbyname('b').value;
c=adoquery.fieldbyname('c').value;
adoquery.close();
adoquery.add('exec sp_name 参数1,参数2');
然后再用
adoqeuery1.parambyname('参数1'):=要传的值;
....
adoquery1.open;
begin
procedureName := "存储过程名"
Parameters.Refresh(); //刷新参数列表
prepare;
parameters.createparam(...);
parambyname('@a').asstring:=Edit1.text;
open;
end;