C\C++学习 公积金相关帖子汇总 魅族M8SDK学习系列不断更新中 Mini开发小组软件发布

[Delphi] 不正常的定义参数对象。提供了不一致的或不完整的信息

[ 5965 查看 / 6 回复 ]

在Delphi中提交一条SQL语句,系统出现了如下的错误: :不正常地定义参数对象。提供了不一致或不完整的信息。 但是在Access中是可以执行的,后来在Google上找到了答案!
本以为是SQL太长了,无法存入数据库中,Google检查,没有发现错误,用“Delphi+不正常地定义参数对象。提供了不一致或不完整的信息。”关键字进行检查,发现有提示,说是由于TADOQuery对象把":"后的字符当作变量来使用,导致数据识别错误。只要把TADOQuery.ParamCheck设置为False即可。一试,果然如此。
引用至http://blog.csdn.net/hjmaAsC/archive/2006/10/25/1350803.aspx
本主题由 皇帝 5207 于 2009-7-3 22:59:21 执行 主题分类 操作
分享 转发
相信与不相信都是矛盾的.  5207宣!
欢迎您来到点滴论坛
TOP

回复:不正常的定义参数对象。提供了不一致的或不完整的信息

谢谢 虽然还没有碰上这个问题 不过这种查询方法很有意思 。。
我们都在人生的舞台上笨拙地舞蹈着,并自得其乐。
----
Tel : 13655310832
TOP

回复: 不正常的定义参数对象。提供了不一致的或不完整的信息

谢谢,解决了我的问题
TOP

问题是解决了,但是定义的参数找不到了,怎么办?
TOP

原帖由 liuwenyang 于 2009-3-30 16:20:00 发表
问题是解决了,但是定义的参数找不到了,怎么办?


定义的参数使用ADO的Paramter来赋值
相信与不相信都是矛盾的.  5207宣!
欢迎您来到点滴论坛
TOP

不正常的定义参数对象。提供了不一致的或不完整的信息

代码如下:
ADOGNB.SQL.Add('select glid,glname from tdh_gl_table');
  ADOGNB.SQL.Add('where glid not in (select glid from tDh_group_gnb where zh like * :zh *)');
  ADOGNB.Parameters.ParamByName('zh').Value:=ZH1;
  ADOGNB.Open;
ZH1我定义全局变量,第一执行没问题,反复执行该语句为啥出现“不正常的定义参数对象。提供了不一致的或不完整的信息 ”,我试着将paramcheck改为FALSE不行,求高手帮忙
TOP

原帖由 liuwenyang 于 2009-4-1 12:51:00 发表
代码如下:
ADOGNB.SQL.Add('select glid,glname from tdh_gl_table');
  ADOGNB.SQL.Add('where glid not in (select glid from tDh_group_gnb where zh like * :zh *)');
  ADOGNB.Parameters.ParamByName('zh').V


改成这样呢:
ADOGNB.SQL.Clear;
ADOGNB.SQL.Add('select glid,glname from tdh_gl_table');
  ADOGNB.SQL.Add('where glid not in (select glid from tDh_group_gnb where zh like * :zh *)');
  ADOGNB.Parameters.ParamByName('zh').V
相信与不相信都是矛盾的.  5207宣!
欢迎您来到点滴论坛
TOP