关于错误list index out of bound(1)

underskyli 2006-01-08 11:30:36
我是要在DBGrid1里选取几行,然后在数据库中删除相应数据,并更新DBGrid1,其中DBGrid1的DataSource属性赋值为DataSource1,Query1的SQL属性赋值为select * from bookshop其代码如下:
begin
if DBGrid1.SelectedRows.Count>0 then
begin
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
Query1.Close;
Query1.SQL.Clear;
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
id:=Fields[0].AsString;
MessageDlg(id, mtInformation, [mbOK], 0);
Query1.SQL.Text:= 'delete from bookshop where 书店名称="id"';
Query1.ExecSQL;
end;
Query1.Open;
end;
可是每次执行到GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));时都提示list index out of bound(1),还请各位大虾指点一二!!小弟在此谢谢了!
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
happypzl 2006-01-10
  • 打赏
  • 举报
回复
哦那只能散分了
underskyli 2006-01-08
  • 打赏
  • 举报
回复
上面的问题搞定了,可是还有是问题,出现另一个错误ERROR Creating cursor handle,并且我取查了下数据库,我要删除的内容并没有被删除!
请各位大虾赐教!
underskyli 2006-01-08
  • 打赏
  • 举报
回复
刚又试了下这会变成了list index out of bound(0),郁闷啊
vivian12 2006-01-08
  • 打赏
  • 举报
回复
顶一下,学习
underskyli 2006-01-08
  • 打赏
  • 举报
回复
你们回答的都不对,我搞定了。Query1.Close;这句太早了!
gyf 2006-01-08
  • 打赏
  • 举报
回复
dbgrid的dataset和query冲突了,两个都是dataset

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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