TClientDataSet数据集如何一次就删除全部记录,而且可以更新.(50分)

  • 主题发起人 主题发起人 gondsoft
  • 开始时间 开始时间
G

gondsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
TClientDataSet数据集如何一次就删除全部记录,而且可以更新.
不能循环用Delete方法喔.
我试了EmptyDataSet不成,数据依然存在.难道只有循环DELETE来删除吗?
ClientDataSet.Data:=Nil 可不可以呢?
 
你何必那么麻烦???
var
PrQuery:TADOQuery;
begin
PrQurey:= TADOQuery.Create(self);
with PrQureydo
begin
Connection:= ADO_CONNECT;
SQL.Text:= 'delete from TableName';
ExecSql;
Free;
end;
end;
 
>>fsse4000:
按你的理解方法我的表可就惨了,
附加注解:数据集中的记录不代表全部数据库中表的全部记录.
 
>>fsse4000:
还是要说声谢谢你的用心.[8D]
 
你把过滤条件传近来呀!
条件就是你打开CLientDataSet的条件。
SQL.Text:= Format('delete from TableName where Con1=''%0:S'' and Con2=''%1:S''',
[ConA,ConB]);
 
用循环删除有什么不妥呢?
ClientDataSet.Data:=Nil我估计肯定是不行的。因为dsp是用ClientDataSet.delta来生成向数据库更新的SQL的。
 
不久前也出现个这种类似的问题,不知道用个循环有什么不妥。
拣不了便宜的,写程序就是这样要脚踏实地,呵呵~~~~~~~~~~
如果真有的话,就好了
 
写个存储过程,在程序里调用不就行了,简单高效!
 
后退
顶部