注册 登录
编程论坛 Delphi论坛

怎样用ADO对数据表中的数据添加和删除临时表中的全部记录。

hsphzc 发布于 2006-12-25 22:29, 3090 次点击
怎样用ADO对数据表中的数据添加和删除临时表中的全部记录。

我有一个碟片信息表,表名为 DP ,还有一个对应的临时表 DPTMP
我想首先将临时表中的记录全部删除,然后从DP表中查出特定的某条碟片
信息并添加进临时表DPTMP中,再将临时表中的信息显示在表格控件DBGrid中。

我用到了一个名为SETCLS的ADODATASET组件,作用是删除全部记录,
作了如下的设置
SETCLS.Close;
SETCLS.CommandText:='TRUNCATE TABLE DPTMP';
SETCLS.Open;

我用到了一个名为SETADD的ADODATASET组件,作用是添加一条记录,
作了如下的设置
curdb:=edt1.text; // 从文本框中读取输入的碟片编号赋给curdb
addstr:='Insert DPTMP Select * from DP where db='+curdb;
// 使之成为如右形式 Insert DPTMP Select * from DP where db='1012'
SETADD.Close;
SETADD.CommandText:=addstr;
SETADD.Open;

请指出问题所在。




3 回复
#2
xu20002006-12-25 22:46
addstr:='Insert DPTMP Select * from DP where db='+#39+curdb+#39;
试一下。
#3
hspyrhzc2007-01-24 10:42

感谢xu2000,可是 删除全部记录的语句SETCLS.CommandText:='TRUNCATE TABLE DPTMP'; 总是报错
是我的关键字弄错了吗,如果实在不行,有别的好方法吗

#4
hspyrhzc2007-01-25 11:56

这个语句 'TRUNCATE TABLE DPTMP' 只能用于ORACAL 数据库中

我这里是ACCESS的数据库,所以不能用,

这种情况可以用 ADOCOMMAND 控件的语句 ‘delete from 表名 ’ 将记录全部删除

1