用adoquery如何接收存储过程的返回值啊?

aybc 2003-10-31 06:46:14
这是我用的语句,为什接收不到呢?
 close;
sql.Clear;
adoquery1.SQL.Add('aaaa');
adoquery1.Parameters.Refresh;
adoquery1.ExecSQL;
edit1.Text:=vartostr(adoquery1.Parameters.ParamByName('@avg').Value);
谢谢。
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dickeybird888 2003-10-31
  • 打赏
  • 举报
回复
作者可能不太会使用存储过程,我给你写一个把!
在sql server中定义一个存储过程
CREATE PROCEDURE selecta @a int,@retval int output AS

select @retval=count(*) from a
where a =@a


客户端:
var
i:integer;
i:=strtoint(edit1.text)//从edit1.text输入数据
edit2.text:=inttostr(dcomconnection.appserver.update(i));
//edit2.text显示执行结果
//
服务器端
function TDM_update.update(a:Integer):integer;
begin
ADOStoredProc1.Parameters.ParamByName('@a').value:= a;//查询参数
ADOStoredProc1.Parameters.ParamByName('@Retval').value:= 0;
ADOStoredProc1.ExecProc;
result:=ADOStoredProc1.Parameters.ParamByName('@retval').value;//回传结果

end;
aybc 2003-10-31
  • 打赏
  • 举报
回复
这个是存储过程
CREATE proc aaaa @para1 char(10)='cccc',@ah int=0 output as
select @ah=hhh from auname where name=@para1
return @ah
GO
可是
adoquery1.Parameters.ParamByName('@ah').Value;
就得不到值,老说没有返回值。
edgethinking 2003-10-31
  • 打赏
  • 举报
回复
如果你的存储过程确实返回值的话,在adoquery1的Parameters属性里可以看见这个参数
的,
你只要使用
adoquery1.Parameters.ParamByName('@avg').Value;
就可以得到这个返回值,要是存储过程没有返回值的话,你当然得不到!
47522341 2003-10-31
  • 打赏
  • 举报
回复

存储过程里边的变量是不能作为返回值返回的;
你要在你的存储过程结尾处加一句;
select @avg as 'avg'
然后执行下边的语句;

close;
sql.Clear;
adoquery1.SQL.Add(' exec aaaa ');
adoquery1.open;
edit1.text := adoquery1.fieldbyname('avg').asstring;
railgunman 2003-10-31
  • 打赏
  • 举报
回复
变相的解决办法:先申明一个参数用来存储存储过程返回的直,最后在
select 参数 as avg 最后通过adoquery1.fieldbyname(avg).asstring 得到这个直!
浅见!
aybc 2003-10-31
  • 打赏
  • 举报
回复
我的语句可以执行,就是传不回存储过程里的参数。@avg是存储过程里的参数。
adoquery1.SQL.Add('aaaa');aaaa是存储过程 

adoquery1.SQL.Add('select ''aaaa'' as aaaa ');是什么意思啊。

47522341 2003-10-31
  • 打赏
  • 举报
回复
close;
sql.Clear;
adoquery1.SQL.Add('select ''aaaa'' as aaaa ');
adoquery1.open;
edit1.Text:= adoquery1.Parameters.ParamByName('aaaa').asstring;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧