+ -
当前位置:首页 → 问答吧 → access adoquery 删除不连续的大量数据

access adoquery 删除不连续的大量数据

时间:2011-08-20

来源:互联网

公司现在在做一个系统,遇到了点问题,请教各位大虾一下,就是假如在ACCESS的Contact表中有10万条记录,当我要删除其中不连续的9万条时,改怎么做好。用的是ADOQUERY。

作者: younerest   发布时间: 2011-08-20

难道没有过滤条件?

作者: varick_zhong   发布时间: 2011-08-20

引用 1 楼 varick_zhong 的回复:
难道没有过滤条件?


之前代码是这样的:
  contactId:=copy(contactId,2,Length(contactId));//删除的条件
  tmpADO := TADOQuery.Create(nil);
  tmpADO.Connection := ADOQuery1.Connection;
  tmpADO.ConnectionString := ADOQuery1.ConnectionString;
  tmpADO.Close;
  tmpADO.SQL.Clear;
  tmpADO.SQL.Add('delete from Contact where ContactId in (' +contactId+')');
  tmpADO.ExecSQL;
  tmpADO.Free;
  ShowMessage('删除成功');
   
如果条数太多,就会提示 "查询条件太过复杂"

作者: younerest   发布时间: 2011-08-20

ACCESS对SQL语句有2000字符的长度限制,建议把ContactID分多次删除,例如一次删1K条

作者: SQLDebug_Fan   发布时间: 2011-08-20

先按照过滤条件过滤一下吧

作者: rainychan2009   发布时间: 2011-08-20

热门下载

更多