如何用adoquery的delete方法删除access的多条记录?
begin
adoquery1.first;
for i:=0 to adoquery1.recordrsetcount-1 do
begin
adoquery1.delete;
adoquery1.next;
end;
这样删除为何死机或删除不了记录?不信大家帮我调一调?
还有没有更好的方法,请教.谢谢!
begin
adoquery1.first;
for i:=0 to adoquery1.recordrsetcount-1 do
begin
adoquery1.delete;
adoquery1.next;
end;
这样删除为何死机或删除不了记录?不信大家帮我调一调?
还有没有更好的方法,请教.谢谢!
如果有关联或者是没有主键是不能删除的。
for i:=0 to adoquery1.recordrsetcount-1 do
begin
adoquery1.delete; //删除后指针会移动
adoquery1.next;
end;
你这样删除,肯定会死机的。看看这个吧。(*//
标题:Delphi中建议使用的语句
整理:Zswang
连接:http://www.csdn.net/Expert/TopicView1.asp?id=724036
日期:2002-06-22
支持:[email protected]
//*)
{ No.6 遍历数据集 }
var
I: Integer;
begin
Query1.First;
for I := 0 to Query1.RecordCount - 1 do begin //不建议//容易被影响
Query1.Next;
{};
end;
/////
Query1.First;
while not Query1.Eof do begin //建议
{ }
Query1.Next;
end;
end;
begin
adoquery1.first;
for i:=0 to adoquery1.RecordCount-1 do
begin
adoquery1.delete;
adoquery1.next;
end;
begin
Close;
SQl.Clear;
SQL.Text := 'delete ..........';
ADoquery1.ExecSQL
end;
adoquery1.first;
while not adoquery1.eof do
adoquery1.delete;还是直接写sql语句删除好,delete from tablename where ......
强烈建议使用一条SQL语句搞定它
然后execsql删除