ParamByName的奇怪错误

NORTHCHERT 2008-03-25 06:42:22
ADOcommand和ADOStoredProc的ParamByName括号中参数均说在存储过程中不存在,而事实上是存在的。
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Harryfin 2008-03-28
  • 打赏
  • 举报
回复
这句是关键:
“Parameters.Refresh”
橘子香水 2008-03-27
  • 打赏
  • 举报
回复
用adoquery来执行存储过程,无法取得返回的参数值的.
GDTOPONE的方法比较好.
zzjhmq 2008-03-26
  • 打赏
  • 举报
回复
执行存储过程,可以不用ADOStoredProc1,可以使用adoquery,例如
with adoquery do
begin
close;
sql.Clear;
sql.Text:='Execute 存储过程名 :a,:b,:c';
Parameters[1].Value:= 参数值;
....
ExecSQL;
end;
:a ,:b,:c 这个可以不用跟你定义存储过程的参数名一样。。
GDTOPONE 2008-03-25
  • 打赏
  • 举报
回复

{定必设好ADOStoredProc1所连的ADOConnection控件,并且ADOConnection已连同数据库}
with ADOStoredProc1 do begin
Close;
Parameters.Clear;
ProcedureName:='MyPROCEDURE';//--------------指定执行的存储过程名称
Parameters.Refresh;
Parameters.ParamValues['@g_cu']:=strtoint(trim(edit1.Text));
Parameters.ParamValues['@g_cb']:=edit2.Text;
ExecProc;

end;

pooplin 2008-03-25
  • 打赏
  • 举报
回复
在Params属性中加入一下

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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