送分 关于 TTALBE 的使用(50分)

  • 主题发起人 主题发起人 xudouya
  • 开始时间 开始时间
X

xudouya

Unregistered / Unconfirmed
GUEST, unregistred user!
我想清空某数据库,用ttable.emptytable方法 怎么运行时会出错 比如清表 talbe1
我用
table1.open;
tabele.emptytable;
 
使用emptytable时,table1不能打开(Open):
if Table1.Active then table1.Close;
tabel1.emptytable;
Tabel1.Open;
 
干嘛不用Query,SQL 语句多可爱
Query.Close;
Query.SQL.Text:='Delete TableName';
Query.ExecSQL;
Query.SQL.Text:='Select * from TableName';
Query.Open;
 
看看emptytable的帮助说的很清楚
The following example uses a table component to empty a database table. First the properties of the table component are set to specify the table that should be emptied.

with Table1 do

begin
Active := False;
DatabaseName := 'Delphi_Demos';
TableName := 'CustInfo';
TableType := ttParadox;
EmptyTable;

end;
 
emptytable方法不能对一个打开的数据表起作用,需要先关闭数据表
 
胡说,也可以对以独占方式打开的使用emptytable方法。
 
先设置成独占方式才能清空
 
用truncate语句吧,速度最快的方式。

with Query1 do
begin
SQL.Clear;
Add('truncate table mytable');
ExecSQL;
end;

当然在有些桌面数据库上不一定支持。
 
不如这样吧,我就是这样清空的。
table.active:=true;
table.edit;
with table do;
delete table;
table.active:=false;
 
呵呵 楼上的说的这么清楚了 结束问题吧!:)
 
谢谢大家 我已经解决问题了 是要先把表的EXCLUSIVE 属性设为 TRUE 才能执行
 
后退
顶部