关于AdoStoredProc控件传入参数的问题:传给变量的字段长度有没有限制啊!!,盼高手

架构之路 2005-12-31 03:17:34
如:adoproc.Parameters.ParamByName('@sKjgs').Value:=sKjGs;

其中sKjGs的长度有没有限制?,sKjGs是string的。
为什么我将sKjGs变量的值直接拿入 存储过程中执行是可以通过的,
但是通过程序传入却执行报错~~。
sKjGs的值比较长,如:RS.DWBM= '002001' or RS.DWBM= '002002' or RS.DWBM= '003001' or RS.DWBM= '003002' or RS.DWBM= '004001' or RS.DWBM= '004002' or RS.DWBM= '005001' or RS.DWBM= '005002' or RS.DWBM= '006001' or RS.DWBM= '006002' or RS.DWBM= '006003' or RS.DWBM= '007001' or RS.DWBM= '007002' or RS.DWBM= '008001' or RS.DWBM= '008002' or RS.DWBM= '009001' or RS.DWBM= '009002' or RS.DWBM= '010001' or RS.DWBM= '010002' or RS.DWBM= '011001' or RS.DWBM= '011002' 可能比这个还要长,

但一般传入RS.DWBM= '002001' or RS.DWBM= '002002' or RS.DWBM= '003001' or RS.DWBM= '003002' or RS.DWBM= '004001' 长就报错了
但 RS.DWBM= '002001' or RS.DWBM= '002002' or RS.DWBM= '003001' or RS.DWBM= '003002' 这么长还可以通过的。

存储过程是没有问题的,我调试过了。
在这种条件下是报‘RS 附近有语法错误’,我感觉是 传入的参数被截掉了。
明天放假,手头工作也解决,就这个难题卡着我,帮帮忙啊,解决马上揭贴。

祝大家元旦快乐,新年快乐!!
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh0498 2006-06-03
  • 打赏
  • 举报
回复
sKjGs 定义长度不够
架构之路 2005-12-31
  • 打赏
  • 举报
回复
的确是截断了,有方法解吗?

可是adoproc.Parameters.ParamByName('@sKjgs').Size:=length(sKjGs);
不是我所需要的啊
ysai 2005-12-31
  • 打赏
  • 举报
回复
可能是参数截断问题
adoproc.Parameters.ParamByName('@sKjgs').Value:=sKjGs;
adoproc.Parameters.ParamByName('@sKjgs').Size:=length(sKjGs);

2,497

社区成员

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

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