list index out of bounds(0) 一般是由访问了没有创建的数组元素. 对于纯粹由数据库组件引起的上述提示,没有见过
你引用的字段不存在,或者假设 select a,b,c,d from mm 你使用label1:=fields[4].asstring;的时候 Fields[4]这个字段根本就没有,(4假设)fields从0开始的索引 再就是 dbgrideh当中的字段取值不正确? :)仅仅推算,不知道代码错在那里?
是访问了不存在的index ,是越界了
是的,就是越界了。。 你设置一个断点 看index是否确实存在。。
数组越界,比如你的表有field有5个字段,你query的SQl里面有query.Fields[5],这样就越界了,因为filed数组是0基准的。同样,你的field一个字段都没有,你写field[0]就会出现list index out of bounds(0),建议用fieldbyname
在你给参数赋值的时候不要使用数组的下标,而直接使用StoredProc的ParamsByName()这个属性来给参数赋值,这样就不会引起上面的问题!
大家可以试一下,如果有问题可以直接给我发邮件![email protected]
一般是由访问了没有创建的数组元素. 对于纯粹由数据库组件引起的上述提示,没有见过
select a,b,c,d from mm
你使用label1:=fields[4].asstring;的时候
Fields[4]这个字段根本就没有,(4假设)fields从0开始的索引
再就是
dbgrideh当中的字段取值不正确?
:)仅仅推算,不知道代码错在那里?
你设置一个断点
看index是否确实存在。。
我也不知道原理,不过我不加这句话也是和你一样的错误
一般是由访问了没有创建的数组元素. 对于纯粹由数据库组件引起的上述提示,没有见过同意hotzhu(非洲白脸) 说的