这样的错误有人遇到过吗?(50分)

  • 主题发起人 主题发起人 sybasten
  • 开始时间 开始时间
S

sybasten

Unregistered / Unconfirmed
GUEST, unregistred user!
我在对一个数据库执行用query来执行sql,然后出现这样一条错误:
list index out of bound(0) 这是为什么?谁遇到过这样的错误。
我的sql语句不为空!
 
是Sql语句有误!不妨将你的语句贴上。
 
这种情况见过:sql语句有问题:
1、可能是query的sql未clear;
2、检查sql语句,有没有加入条件选择等控制。
 
多半是你的程序有问题吧.
你把这条SQL拿出来单单执行试试.
 
showmessage(tquery.sql.text);
可能sql中的列并不存在
 
这就是我的程序,好象很普通,也没有什么错误,但是有谁遇到过那样的出错信息!
query1.close;
query1.sql.Clear
query1.sql.Add('select 电话号码 from 用户资料 where 单位代码=:aa');
query1.Params[0].asstring:=edit1.Text;
query1.Open;
 
sybasten:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
list index out of bound(0) 这个错误是说你的数组操作溢出了,
比如你的listbox只有2行,你一定要访问第3行,看看你的程序
 
不如这样:
query1.close;
query1.sql.Clear
query1.sql.Add('select 电话号码 from 用户资料 where 单位代码='''
+edit1.Text+'''');
query1.Open;
 
可能是param没建立,
你可以用paramcount测试;
query1.close;
query1.sql.Clear
query1.sql.Add('select 电话号码 from 用户资料 where 单位代码=:aa');
showmessage('paramcount:='+inttostr(query1.paramcount));
query1.Params[0].asstring:=edit1.Text;
query1.Open;


query1.close;
query1.sql.Clear
query1.sql.Add('select 电话号码 from 用户资料 where 单位代码=:aa');
try
query1.Params[0].asstring:=edit1.Text;
except
showmessage('params访问出错');
exit;
end;
query1.Open;
 
你可以看看与QUERY相关代码有没有问题,可能是你在QUERY的ONSCROLL 或者其他事件的
处理上出了问题,可以先屏蔽掉相关的事件,不如先不要关联DATASOURCE
 
:前边不能有空格
 
>>query1.sql.Add('select 电话号码 from 用户资料 where 单位代码=:aa');

请注意!“ 单位代码=:aa” 这里的冒号有问题!!! 把中文输入法关掉。
 
多人接受答案了。
 
后退
顶部