回 帖 发 新 帖 刷新版面

主题:为什么每次只能修改一条记录啊

我已经用了for循环语句了,但每次只能修改一条记录
...
i:=listbox2.Items.Count;
   if listbox2.Items.Text='' then showmessage('请先选择符合条件的人')
   else
   begin
   if messagedlg('确认添加这'+inttostr(i)+'条记录吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
   xm:=listbox2.Items[i-1];
   str1:='update t_info set id="2" where xm="'+xm+'" ';
   [color=008080][color=0000FF][color=FF0000]for i:= listbox2.Items.Count downto 1 do
   begin
     with tquery.Create(nil) do
     begin
     try
     close;
     databasename:='dbdemos';
     sql.Clear;
     sql.Add(str1);
     execsql;
     finally
     free;
     end;
     end;
    next;[/color][/color][/color]
  end;

回复列表 (共3个回复)

沙发

xm:=listbox2.Items[i-1];
   你把这句放到FOR循环之外有什么用啊。呵呵!那样条件永远不会变的

板凳


那应该放哪里啊,我把xm:=listbox2.Items[i-1];
 
放到 for...语句下面,结果更糟,一个都不能添加啊

3 楼

把下面2句都放到For循环内就ok了
   xm:=listbox2.Items[i-1];
   str1:='update t_info set id="2" where xm="'+xm+'" ';

我来回复

您尚未登录,请登录后再回复。点此登录或注册