DBEDIT控件使用 ( 积分: 50 )

  • 主题发起人 主题发起人 savior_1
  • 开始时间 开始时间
S

savior_1

Unregistered / Unconfirmed
GUEST, unregistred user!
我新建了一个FORM,上面有DBEDIT控件用来接收我ADOQUERY中的数据,现在数据可以接收过来了,
下一步我在修改DBEDIT里的数据时如果有的字段我删除了而不再写入点保存也会成功。
请问如何解决这种情况。

:我在用dbedit时,只要改变它的值后,触发任意一个毫不相干的button时
库里的内容就改了,
怎样才能控制 成:按一个button后保存,否则不改变库内容。、

应该设置dbedit的什么属性呀。
buttonclick的 事件怎么写
 
可以用事务来控制:
比如在进入窗口时:ADOConnection.BeginTrans; //开始一个事务
需要保存进:ADOConnection.CommitTrans; //保存事务,保存所做的编辑,所做的修改全部提交给数据库
不需要保存时:ADOConnection..RollbackTrans;//回滚事件,取消所有所做的编辑,事务中做做的修改都不提交到数据库中
 
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
DataSet.Cancel;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.BeforePost:=nil;
if Table1.State=[dsedit,dsinsert] then
Table1.pose;
Table1.BeforePost:=Table1BeforePost;
end;
 
這個很容易,你可能在其他按鈕下寫dbedit.datasource.dataset.cancel,只在一個按鈕下才是post這樣就行啦,其實就像用edit來控制數據一樣,只要你按提交才會存進存里面,沒存進去之前都是無用動作
 
呵,楼主和我以前一样的问题,用edit会比较好控制些,特别有加密情况
 
设置ADOQuery1属性: ADOQuery1.lockType:=ltBatchOptimistic;

需要的时候按这个才能保存: ADOQuery1.UpdateBatch(arAll);
 
帮你顶,接个分
 
我最终用了EDIT自己解决的,挺有成就感的,前些日子IE坏了。不好意思托了这么久。对不住大家,一共才五十分的题。真是对不住。
 
后退
顶部