关于在Delphi中调用存储过程的问题!急急急!!!

lfd_boy 2002-11-18 03:57:05
在Delphi中怎么得到一个存储过程的返回值,比如我有一个SqlServer存储过程:GetDate 第一个参数是时间,第二个参数是整型,第三个和第四个都是时间类型并且是Output输出,请问我在Delphi中则么得到最后两个参数的返回值?
如果有例子请发到:lfd_boy@163.com
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
F1OnEverest 2002-11-18
  • 打赏
  • 举报
回复
执行完存储过程以后,通过output型的params就可以得到返回值啊,不可能不行的!
mengxianbao1521 2002-11-18
  • 打赏
  • 举报
回复
begin
Table.Database.StartTransaction;
try
//------调用存储过程1------
with StoredProc do
begin
UnPrepare;
StoredProcName := 'SP1';
Prepare;
//------设置存储过程1的传入参数------
ParamByName('XXX').AsString := XXX;
ParamByName('YYY').AsString := YYY;
ParamByName('ZZZ').AsInteger := ZZZ;
ExecProc;
end;
Table.Database.Commit;
except
Table.Database.Rollback;
MessageDlg('执行存储过程1时发生数据错误。', mtWarning, [mbOK], 0);
Exit;
end;

Table.Database.StartTransaction;
try
//------调用存储过程2------
with StoredProc do
begin
UnPrepare;
StoredProcName := 'SP2';
Prepare;
//------设置存储过程2的传入参数------
ParamByName('WWW').AsString := WWW;
ExecProc;
end;
Table.Database.Commit;
except
Table.Database.Rollback;
MessageDlg('执行存储过程2时发生数据错误。', mtWarning, [mbOK], 0);
end;
end;
lfd_boy 2002-11-18
  • 打赏
  • 举报
回复
不行啦,我试过了。a1和a2总是1899-12-30 00:00:00
上面那位仁兄说指定Type属性为output,可是我怎么找不到这个属性呀?
78 2002-11-18
  • 打赏
  • 举报
回复
open;
a1:=fields[0].asstring;
a2:=fields[1].value.asstring;
findya 2002-11-18
  • 打赏
  • 举报
回复
用adoStorePorc的话执行完存储过程以后用params就可以返回output的值
wonderworld 2002-11-18
  • 打赏
  • 举报
回复
如果你用的是存储过程的控件,你可以选中他的params属性,其中有四个参数,你把后两个的type属性设置成output就可以了。

5,939

社区成员

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

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