ADO 如何做到多個DataSet 的Batch Update |
答題得分者是:sam_ku
|
will
中階會員 發表:176 回覆:135 積分:62 註冊:2002-04-14 發送簡訊給我 |
#1
發表時間:2002-11-13 13:03:51
IP:61.221.xxx.xxx 未訂閱
在ADO 中我們可以用 Try
adoDataSet.UpdateBatch();
except
adoDataSet.CancelBatch; end; 來做Batch Update 但是如我我有三個ADODataSet 要一起更新, 如果任意一個ADODataSet 更新失敗, 則三個更新都要回復
請問要如何做到呢?
|
sam_ku
一般會員 發表:0 回覆:1 積分:5 註冊:2002-11-07 發送簡訊給我 |
#2
發表時間:2002-11-21 21:50:21
IP:210.58.xxx.xxx
未訂閱
我都是用ADOConnection的Begin Tran做的,
不知是否可滿足你的需求,程式碼如下:
procedure TForm1.Bt_UpdateClick(Sender: TObject);
Var
MyConnect:TADOConnection;
MyADOCmd:TADOCommand;
bCmdSucess:Boolean;
begin
MyConnect:=TADOConnection.Create(Self);
MyADOCmd:=TADOCommand.Create(Self);
MyConnect.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'
'Password="";Data Source=C:\Documents and Settings\sam\My Documents\db1.mdb;'
'Persist Security Info=True';
try
MyConnect.Open;
except
Showmessage('Connect Error!');
end; MyADOCmd.Connection:=MyConnect;
bCmdSucess:=True;
MyConnect.BeginTrans;
try
MyADOCmd.CommandText:='';//第一段
MyADOCmd.Execute;
MyADOCmd.CommandText:='';//第二段
MyADOCmd.Execute;
//.........
except
bCmdSucess:=False;
end;
If bCmdSucess Then MyConnect.CommitTrans
Else MyConnect.RollbackTrans;
MyADOCmd.Free;
MyConnect.Free;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |