adoquery1.next;//移动到下一条
来源:百度知道 编辑:UC知道 时间:2024/05/15 14:49:54
可以移动。但是是一直移动。不会停下。如何控制停下。
procedure TForm2.Button4Click(Sender: TObject);
begin
with user_opquery do
begin
close;
sql.Clear;
sql.Add('select * from user_info');
open;
user_opquery.Delete;
adoquery1.next;//移动到下一条
end;
end;
end.
我是想对DBGRID中的数据进行操作。即选中哪条纪录就对哪条进行操作。
即是我选中哪条纪录然后点哪条。那条就删除。。
procedure TForm2.Button4Click(Sender: TObject);
begin
with user_opquery do
begin
close;
sql.Clear;
sql.Add('select * from user_info');
open;
user_opquery.Delete;
adoquery1.next;//移动到下一条
end;
end;
end.
我是想对DBGRID中的数据进行操作。即选中哪条纪录就对哪条进行操作。
即是我选中哪条纪录然后点哪条。那条就删除。。
外头加个判断,判断是否结束.
with user_opquery do
begin
while not(adoquery1.eof) do begin // 新加
close;
sql.Clear;
sql.Add('select * from user_info');
open;
user_opquery.Delete;
adoquery1.next;//移动到下一条
end; //新加
end;
[补充]
不仅仅是除最后一条,是全部,因为这个循环,是遍历整个Adoquery的记录;
另外,你循环中的代码我读不明白,不是删除语句啊,而且你循环中只是查询了另外一张表,, 并没有用到AdoQuery中的数据.
能告诉我你这个程序的功能么?
再次补充:
这样太简单了,你写那么复杂。。。呵呵。。
在dbgrid 的onClick事件中
dbgrid1.Fields 就是你选中的那一行。
dbgrid1.fields[0].AsString 就是这一行第一列。。1是第二列,。。。。
呵呵,,这下明白了吧,不用写循环判断了。。