被 listbox整瓜了???help??help???

wxh850619 2005-04-30 10:01:27
procedure TForm5.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listbox3.Count -1 do
if listbox3.Selected[i] then
begin
adoquery3.SQL.Clear ;
adoquery3.Close ;
adoquery3.Connection :=adoconnection1;
adoquery3.SQL.Add('select * from userspriv where privid="'+edit4.Text+'" and usersid="'+edit2.text+'"');
adoquery3.Open ;

if adoquery3.eof then
begin
listbox2.Items.Add(listbox3.Items[i]);
listbox3.DeleteSelected ;

adoquery3.sql.Clear ;
adoquery3.Close ;
adoquery3.Connection :=adoconnection1;
adoquery3.SQL.Add('insert into userspriv(usersid,privid,privname) values("'+edit2.text+'","'+edit4.text+'","'+edit3.text+'")');
adoquery3.ExecSQL ;
end;
if listbox3.Items.text='' then
begin
button3.Enabled :=false;
end;
end;
end;


请各位大虾帮忙为什么总是提示"list index out of bounds(2)"错误了???

在线等~~~~~~~~~~~~~~
...全文
75 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxh850619 2005-04-30
  • 打赏
  • 举报
回复
Thank You Very Very Very VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVery Much~~~~~~~!
wxh850619 2005-04-30
  • 打赏
  • 举报
回复
你的意思是说把for i:=0 to listbox3.Count -1 do
换成for i:=ListBox3.Count-1 downto 0 do就可以了吗?
gzmhero 2005-04-30
  • 打赏
  • 举报
回复
List项删除会造成Count改变,而循环不变,造成越界。

for i:=0 to listbox3.Count -1 do
------------->>>>>>>>>>>>>>>>>>>>>>>.
for i:=ListBox3.Count-1 downto 0 do
就OK了。

2,507

社区成员

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

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