这个错误是在执行一个查询语句的时候产生的:
with dm.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select hyxx.*,hyjbxx.jbmc from hyxx,hyjbxx where hyxx.jb=hyjbxx.jbid'); Open;
end;
把这个SQL语句复制到查询分析器里面执行却没有问题。按照以往的经验,发生这个错误,第一个原因是connection没有连接上,第二个是查询语句中有冒号,但是adoquery的paramcheck=true。这两个原因我都查了,都不存在。我连接了另外一个结构相同的数据库,运行没有问题,那就是表中的记录有问题了。大卡hyxx表,第一条数据的ID(primary key)什么都没有,是个空串。我就纳闷了,这个空串是哪里来的呢,原来的程序没有控制空串?先不要找原因了,先看看是不是这个造成的。往里填了几个字符,保存,执行程序,ok!
本文解决了在使用ADOQuery执行特定SQL语句时遇到的问题,通过排查发现是由于数据库表中存在空字符串作为主键导致的。填充主键后,问题得以解决。
3439

被折叠的 条评论
为什么被折叠?



