如何动态删除数据库中的记录,急!!(200分)

  • 主题发起人 主题发起人 loaferhit
  • 开始时间 开始时间
L

loaferhit

Unregistered / Unconfirmed
GUEST, unregistred user!
现有Access2000数据库,通过ADOQuery提取库中表record中的全部记录,
现在想删除数据集中的部分记录,如:假定有3000条记录,现在想删除前1200
条,怎么办?

record表中无主键以及索引,没有可以作为过滤条件的关键列.
谢谢!!
 
先到第一条记录,再一个循环不是就解决了么。
AdoQuery1.first;
if Adoquery1.RecordCount>1200 then
for ...
..
200分就这么简单个问题?
 
with adoquery1 do
begin
first;
edit;
for i=1 to 1200 do
begin
DeleteRecords(arCurrent);
next;
end;
end;

 
sql 也能实现吧.
 
删除后100条呢?
 
while adoTable .recordcount>1000 Do
Begin
with adoTable do
begin
first;
delete;
refresh;
end;
End;
 
adoQuery1.close;
record.fist; //移至表的首记录
for i:=1 to 1200 do //设定计数器
begin
record.delete; //删除
record.next; //下一记录
end;
adoQuery1.open;
//上面是删除前1200个记录的,下面是删除后1200个记录的
adoQuery1.close;
record.last;
for i:=1 to 1000 do
begin
record.delete;
record.prior;
end;
adoQuery1.open;
 
太懒惰不好:)
 
非常感谢大家的帮助,这几天无法上网,耽搁了,见谅!
按照大家的这种方法,原来我也作过,但总出错,说找不到适合的
键值或列名,后来我发现,删除前面45条记录时不出错,一到后面
的就出错,原来后面的记录是我由前面45条复制来的,删除这些
复制的记录之后错误消失了,不过我还是感谢大家的关心!
祝大家都成为大富翁!!!!!! :-)
 
后退
顶部