菜鸟问题:ado中用sql的问题 急 (50分)

  • 主题发起人 主题发起人 bluefog
  • 开始时间 开始时间
B

bluefog

Unregistered / Unconfirmed
GUEST, unregistred user!
新从vfp转学delphi 就sql语句在d中的使用请教前辈
我用ado连一个access数据库 封装在adotable1中 我想清除表中的所有记录 想用类似
‘delete from 表名’的sql语句 试了很多方法都没成 只有用笨办法 用循环语句套 adotable1。delete
一条一条的删除 由于数据1万多条 所以非常慢
请问怎么快速清空数据? 另外 类似sql的updata语句在ado中这么实现 我想用来批量更新数据
谢谢!!!
 
咋都不理我呢? 嫌分少吗
 
delphi的ado控件完全支持标准的sql语句。但是在aodtbale控件中是不能执行sql语句的.
执行sql语句的是adoquery控件,它的用法是:
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('delete from tablename');
adoquery.sql.execsql;
//如果你的sql语句是返回记录的(如select...),那么最后一行为
//adoquery.open;
//如果是update语句,那么也应该用execsql;
 
谢谢ego大侠 分已送出
在麻烦一下

adoquery.sql.add('delete from tablename'); 中的 tablename 是变量吗? 是不是该写表
名就是adotbble1封装的那个表的名字 比如 biao_xm
adoquery.sql.add('delete from biao_xm');
或者用adoquery.sql.add('delete from abotable1'); ?
 
如楼上所说,另外用操纵ACCESS的SQL语句中有些表名要用[]括号括起来,否则就有问题
 
谢谢ego tangle二位老师
我试了 成功了 但adoquery1.sql.ExecsqL;通不过 改为adoquery1.ExecsqL;就好了
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('delete from biao_xm');
adoquery1.ExecsqL;
//清空表biao_xm中的数据
tangle的意思是不是最好用这样的格式
adoquery1.sql.add('delete from [biao_xm]');
 
后退
顶部