grid index out of range

dyonggan 2008-07-15 12:04:41
begin
dmData.adoQCode.open;
dmData.adoQCode.Append;
dmData.adoQCode.FieldByName('Type').AsString := cbbType.Text;
dmData.adoQCode.FieldByName('Value').AsString := edtValue.Text;
dmData.adoQCode.FieldByName('Mem').AsString := edtMem.Text;
dmdata.adoQCode.Post;
end;
我用的是DBgrid和Access库,在添加一条记录时报出grid index out of range 的错误,请各位知道的加以指点
...全文
546 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyonggan 2008-07-16
  • 打赏
  • 举报
回复
如果没有高手能够解释,那么明天结帖
genispan 2008-07-15
  • 打赏
  • 举报
回复
看看你的DBGRID的列数是不是比数据集里面的字段个数一致
如果不 一致 就有可能出现你所说的情况
dyonggan 2008-07-15
  • 打赏
  • 举报
回复
我现在换了DBgridEh控件,也就没有这个错误了。听了etomahawk人建议,我还真想再返回试试,可是已经不出错了。
看来遇上这样的问题真是不容易,现在想再遇上都不知该怎么办了。
不过我还是希望有人能给提供错误的根源,大家一块学习吧。
谢谢各位
etomahawk 2008-07-15
  • 打赏
  • 举报
回复
到Append的时候,按F7跟进源码看。
或者在出错的时候调出堆栈窗口(Ctrl + Alt + S),你就可以看出来到底调用了那些函数,进而能确认是什么地方出错了。
这是我通常的做法,希望对你有用。
genispan 2008-07-15
  • 打赏
  • 举报
回复
Append出错 就是新建一行没有成功 这种情况下越界是可能的

但出错原因我就不知道了
dyonggan 2008-07-15
  • 打赏
  • 举报
回复
把你delphi环境里面的Project-Options-compiler下面的Runtime errors选项中的Range checking 前面的钩钩去掉~!
本来已经是勾掉的。
把那段代码发上来,
dmData.adoQCode.SQL.Text 也给出来。

dmdata.adoqcode.sql.text := 'select * from Tbcode'没错呀
真是奇怪了。
exp_moon 2008-07-15
  • 打赏
  • 举报
回复
把你delphi环境里面的Project-Options-compiler下面的Runtime errors选项中的Range checking 前面的钩钩去掉~!
五哥 2008-07-15
  • 打赏
  • 举报
回复
把那段代码发上来,
dmData.adoQCode.SQL.Text 也给出来。
五哥 2008-07-15
  • 打赏
  • 举报
回复
估计在open的时候都已经报错啦。
dyonggan 2008-07-15
  • 打赏
  • 举报
回复
DBGRid显示的列数和数据集里面的字段个数不一致,因为没有必要显示个别字段,所以隐藏。
我已经试过了,当他们一致时也会报错。
dyonggan 2008-07-15
  • 打赏
  • 举报
回复
DBGRid显示的列数和数据集里面的字段个数不一致,因为没有必要显示个别字段,所以隐藏。
我只是想知道为什么回出现这种错误,怎么解决。
加断点是在Append上错的
xiangzi15 2008-07-15
  • 打赏
  • 举报
回复
跟踪一下,看到底在哪句出错。
etomahawk 2008-07-15
  • 打赏
  • 举报
回复
这段里面没啥错误啊。
在最后一句添加断点跟踪。

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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