全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1340
推到 Plurk!
推到 Facebook!

CachedUpdates & Query 問題

尚未結案
taboo
一般會員


發表:2
回覆:6
積分:1
註冊:2003-04-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-07 12:15:46 IP:211.22.xxx.xxx 未訂閱
taboo
一般會員


發表:2
回覆:6
積分:1
註冊:2003-04-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-08 13:43:26 IP:211.22.xxx.xxx 未訂閱
小弟簡化問題好了 用BDE的Query元件 要怎麼做 才可以在下SQL指令後(Query.SQL) 資料異動只在前端 後端資料庫尚未異動 只有在執行Apply按鈕後,才會一次異動到資料庫 感謝各位大大
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-08 14:43:17 IP:218.163.xxx.xxx 未訂閱
奇怪,正如你所說的,cachedupdate=true,requestlive=true,當你post時只是在local端而已,要下applyupdate才會更新至資料庫,,我用 src="http://140.134.4.20/~g8905202/pucca.gif">
------
星期一,二...無窮迴圈@@
taboo
一般會員


發表:2
回覆:6
積分:1
註冊:2003-04-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-08 16:42:13 IP:211.22.xxx.xxx 未訂閱
謝謝大大的回應 我的資料庫是Access 用Query的insert,delete,update,都可以RollBack 因為只是在Local端的異動 可是我想用的是Query的SQL ExecSQL時它都直接更新到資料庫了.....無法RollBack
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-09 08:57:16 IP:218.163.xxx.xxx 未訂閱
引言: 謝謝大大的回應 我的資料庫是Access 用Query的insert,delete,update,都可以RollBack 因為只是在Local端的異動 可是我想用的是Query的SQL ExecSQL時它都直接更新到資料庫了.....無法RollBack
那可以用Tdatabase自己控制commit,rollback,這樣應該也行 至於ExecSQL為何會自動更新至資料庫,小弟才疏學淺 不了 永遠追不上技術更新的速度~~< src="http://140.134.4.20/~g8905202/pucca.gif">
------
星期一,二...無窮迴圈@@
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-11 10:38:17 IP:218.1.xxx.xxx 未訂閱
我用如下代码是可以RollBack的,
procedure TForm1.Button1Click(Sender: TObject);
begin
  DataBase1.StartTransaction;
  Query1.SQL.Text:='delete FORMDD where DDKEY=''&Edit''';
  Query1.ExecSQL;
  DataBase1.Rollback;
  Query1.SQL.Text:='select * from FORMDD where DDKEY=''&Edit''';
  Query1.Open;
end;
对Query的append/edit/delete,资料还在Query的Catch里,没有送到Server去,因此可以CancelUpdates简单地在本地取消更新。 ExecSQL是把SQL语句真正送到Server去执行了,需要在执行前到Server去启动一个Transaction(DataBase1.StartTransaction),由Server来控制Rollback。 因为Transaction会锁住资料,最好是最晚开始(StartTransaction),最早结束(CommitTransaction/RollbackTransaction),因此并不建议你在两个地方处理,如一个Button来StartTransaction,另一个来Commit/Rollback,其间可能间隔很长时间。 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
系統時間:2024-06-01 23:15:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!