求助 TADOQuery 删除 ACCESS内所有表里的的记录

sharebei 2011-07-07 04:38:55
如题

TADOQuery 连接一个ACCESS文件 想把这个ACCESS内的文件里的所有表的记录全部清空,但一个表一个表的执行删除好麻烦,如何能高效处理下呢?

...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharebei 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sharebei 的回复:]

引用 5 楼 yqdragon 的回复:

上面觉得麻烦就动态获得表名

Delphi(Pascal) code
var
sqlstr:string;
i:integer;
begin
ADOConnection.GetTableNames(ListBox1.Items,False);
sqlstr := '';
if listbox1.Items.Count>0 then……
[/Quote]

谢谢动态表操作法,,搞定...
sharebei 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yqdragon 的回复:]

上面觉得麻烦就动态获得表名

Delphi(Pascal) code
var
sqlstr:string;
i:integer;
begin
ADOConnection.GetTableNames(ListBox1.Items,False);
sqlstr := '';
if listbox1.Items.Count>0 then
begin
for i:=……
[/Quote]还是动态表名效率高,,我试试.
山东蓝鸟贵薪 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yqdragon 的回复:]
用一个SQL语句,把所有表加进来

Delphi(Pascal) code
var
sqlstr:string;
begin
sqlstr := 'delete from table1;'+
'delete from table2;'+
'delete from tablen;';
with adoquery1 do
……
[/Quote]
这个方法是可行的..........
yqdragon 2011-07-07
  • 打赏
  • 举报
回复
上面觉得麻烦就动态获得表名

var
sqlstr:string;
i:integer;
begin
ADOConnection.GetTableNames(ListBox1.Items,False);
sqlstr := '';
if listbox1.Items.Count>0 then
begin
for i:=0 to listbox1.Items.Count-1 do
sqlstr := sqlstr +'delete from '+listbox1.Items[i]+';';
end;
with adoquery1 do
begin
sql.Add(sqlstr);
execsql;
end;
end;
yqdragon 2011-07-07
  • 打赏
  • 举报
回复
用一个SQL语句,把所有表加进来
var
sqlstr:string;
begin
sqlstr := 'delete from table1;'+
'delete from table2;'+
'delete from tablen;';
with adoquery1 do
begin
sql.Add(sqlstr);
execsql;
end;
end;
COMPUTERZZZ 2011-07-07
  • 打赏
  • 举报
回复
顶一下
babydog01 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 m617105 的回复:]
。。。。。。这个
你的表很多吗?Delete语句都闲慢啊。
你可以备份一个空的数据库,如果要执行清空记录的话,别老的删了,备份的改名替换掉就行了。
[/Quote]

可用,LZ还是勤劳一点吧.....,如果是放在程序里也就是一次性的了。
浩南_哥 2011-07-07
  • 打赏
  • 举报
回复
。。。。。。这个
你的表很多吗?Delete语句都闲慢啊。
你可以备份一个空的数据库,如果要执行清空记录的话,别老的删了,备份的改名替换掉就行了。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧