删除数据库记录时,跳行取记录删除 ( 积分: 50 )

  • 主题发起人 主题发起人 jwhq
  • 开始时间 开始时间
J

jwhq

Unregistered / Unconfirmed
GUEST, unregistred user!
...
first ;
While not Eof do
begin
...
if (Y < LYear) or ((Y = LYear)and(M <= LMonth)) then Delete ;
next ;
end;
...

结果发现,数据库记录隔行删除,比如一共10条记录,都满足以上if 表达式。
结果是删除第1,3,5,7,9条,谁能告诉我,这是为什么?
 
...
first ;
While not Eof do
begin
...
if (Y < LYear) or ((Y = LYear)and(M <= LMonth)) then Delete ;
next ;
end;
...

结果发现,数据库记录隔行删除,比如一共10条记录,都满足以上if 表达式。
结果是删除第1,3,5,7,9条,谁能告诉我,这是为什么?
 
你用了table表吧,table 表删除记录以后指针会发生变化,(在next执行之前).
 
To:becauseloveyou
对,是用的ADOTable,那请问要如何做呢?如果非要用Table,谢谢
 
if (Y < LYear) or ((Y = LYear)and(M <= LMonth)) then Delete ;
else next ;
 
多人接受答案了。
 
后退
顶部