麻烦大家看一下,这哪里错了?

liner1 2001-08-28 10:44:56
.....

adostoredproc1.Connection :=adoconnection1;
adostoredproc1.ProcedureName :='sp_addumpdevice';
adostoredproc1.Parameters.ParamByName('@devtype').value:='disk';
adostoredproc1.Parameters.ParamByName('@logicalname').value:='temp';
adostoredproc1.Parameters.ParamByName('@physicalname').value:='d:\temp.bak';
adostoredproc1.Prepared;
adostoredproc1.ExecProc ;

........


错误信息为:
Project servermanage,exe raised exception class EDatabaseErrror with message 'ADOStoredProc1:Parameter '@devtype' not found',Process stopped.
use Step or Run to continue.

明明有@devtype参数呀
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LWWL 2001-08-28
  • 打赏
  • 举报
回复
ADOStoredProc1.Parameters.ParamValues['@devtype']:='disk';
.......
blackfiles 2001-08-28
  • 打赏
  • 举报
回复
用:
ADOStoredPrec1.Parameters.CreateParameters('@devtype',ftstring,pdinput,20,'');
ADOStoredPrec1.Parameters.CreateParameters('@logicalname'',ftstring,pdinput,20,'');
......
ADOStoredPrec1.ExecProc
chinasg 2001-08-28
  • 打赏
  • 举报
回复
如果你的Procedure是没有参数的,动态付值是没有问题。但现在你的Procedure有3个参数,adostoredproc1动态付值之后,那3个参数实际在adostoredproc1里都没有定义,所以执行出错。
建议1:试试静态定义然后Fetch Param之后再执行,我想应该可以了。
建议2:我没有试过在代码里设置adostoredproc1的变量参数,可以看看帮助,应该也可以。
taozc 2001-08-28
  • 打赏
  • 举报
回复
查看一下存储过程中的定义.
liner1 2001-08-28
  • 打赏
  • 举报
回复
又试过了,不是中英文的问题,不知道是不是系统存储过程有特别限制
dongdong6161 2001-08-28
  • 打赏
  • 举报
回复
这可能是你在输入英文的时候开了输入法,你把那段程序出错部分('@devtype').删掉重输一遍
别在输入法的英文状态下输,关了它!
liner1 2001-08-28
  • 打赏
  • 举报
回复
试过了,还是一样的错误,而且我看别的资料都是这样的
chin999 2001-08-28
  • 打赏
  • 举报
回复
采用 devtype 试

5,388

社区成员

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

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