我用adotable访问mdb数据库,现在要将一个表中的数据清空,
ADOTable1.Recordset.MoveFirst;
for i:=1 to ADOTable1.RecordCount-1 do
begin
ADOTable1.Delete;
ADOTable1.Refresh;
end;
但是一运行就出错提示“键列信息不足或不正确,更新影响到多行”,求高手回复
ADOTable1.Recordset.MoveFirst;
for i:=1 to ADOTable1.RecordCount-1 do
begin
ADOTable1.Delete;
ADOTable1.Refresh;
end;
但是一运行就出错提示“键列信息不足或不正确,更新影响到多行”,求高手回复
解决方案 »
- 如何用最简单的办法屏蔽掉所有的windwos程序的运行,而只运行我自己的程序。
- C++结构中用了union来节省内存,翻译成delphi必须转换成变体记录吗?
- DBGRIDEH中多行复制的问题?
- 如何实现dbgrid里面整条记录的复制???和剪切呢???
- missing sql property的错误怎么解决,是哪里出问题了???
- 请教关于ThemeEngine控件的一些基本问题
- 这个配置值得买吗?价格1900
- 特急!!!,称心请教高手---delphi的web应用问题
- 请教如何操作Tbitmap,以及ScanLine的使用,目的:在Bitmap中如何描点?
- 怎样动态改变sql
- Delphi调用Tuxedo问题,用fget32函数取blob数据存放在pchar类型变量里,blob数据中零终止符后的字符串被自动截断。
- 谁有加密组件?
2,用 adoquery 吧比这个方便。。
with adoquery1 do
begin
close;
sql.clear ;
sql.add('DELETE * FROM table ');
ExecSQL;
end;
写SQL好点
begin
ADOTable1.Delete;
ADOTable1.Refresh;
ADOTable1.next;
end;
最好用SQL语句,一次删除,你上面的还是一条一条删除!
delete * form tablemane
1: truncate table 表名 最快
2:delete 表名 稍慢
不生成日志,别人可不知道,
如何解决?
begin
ADOTable1.Delete;
ADOTable1.UpdateBatch;
end;
begin
ADOTable1.Delete;
ADOTable1.next;
end;
ADOcommand.open;
adotable1.append;
adotable1.edit;
.......
adotable1.post;
if ADOTable1.RecordCount>50 then
begin
ADOTable1.First;
ADOTable1.Delete;
ADOTable1.Next;
// ADOTable1.UpdateBatch;
ADOTable1.Refresh;
end;
运行的时候会出现“键列信息不足或不正确,更新影响到多行”的错误提示信息,这句错误不知道什么原因
SQl/ORACLE:
1: truncate table 表名 最快
2:delete 表名 稍慢