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

請問一個 query 存檔問題

答題得分者是:Justmade
chcdelphi
一般會員


發表:4
回覆:6
積分:2
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-23 13:45:53 IP:211.21.xxx.xxx 未訂閱
各位大大...
      我以 query1.post 儲存一筆資料後用以下程式更新資料          Database1.StartTransaction;
      try
         query1.ApplyUpdates;
         Database1.Commmit;
      except
         query1.CancelUpdates;
         Database1.Rollback;
         raise;
      end;
      query1.CommitUpdates;
為什麼會出現錯誤訊息... (我的程式和資料庫在同一台電腦有關係嗎??) 還是有其他更新資料到資料庫的方法... 謝謝回答.... 發表人 - chcdelphi 於 2003/04/23 13:53:06 發表人 - chcdelphi 於 2003/04/23 13:54:41 發表人 - chcdelphi 於 2003/04/23 13:57:13
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-23 14:41:38 IP:211.74.xxx.xxx 未訂閱
我都是這樣做的 Database1.StartTransaction; try query1.ApplyUpdates; except Database1.Rollback; Showmessage('存檔失敗!!!'); abort; end; Database1.Commit; Showmessage('存檔成功!!!'); TRY TRY SEE
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-23 14:49:51 IP:211.20.xxx.xxx 未訂閱
改成這樣試試 Database1.StartTransaction; try query1.ApplyUpdates; Database1.Commmit; query1.CommitUpdates; except Database1.Rollback; query1.CancelUpdates; end; @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
chcdelphi
一般會員


發表:4
回覆:6
積分:2
註冊:2003-04-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-23 15:10:29 IP:211.21.xxx.xxx 未訂閱
還是一樣出現 The transaction isolation level mst be dirty for local datebases.    
引言: 我都是這樣做的 Database1.StartTransaction; try query1.ApplyUpdates; except Database1.Rollback; Showmessage('存檔失敗!!!'); abort; end; Database1.Commit; Showmessage('存檔成功!!!'); TRY TRY SEE
chcdelphi
一般會員


發表:4
回覆:6
積分:2
註冊:2003-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-23 15:12:19 IP:211.21.xxx.xxx 未訂閱
還是一樣出現 The transaction isolation level mst be dirty for local datebases.    
引言: 改成這樣試試 Database1.StartTransaction; try query1.ApplyUpdates; Database1.Commmit; query1.CommitUpdates; except Database1.Rollback; query1.CancelUpdates; end; @@~~飛翔在天際的精靈~~@@ [/quote]
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-23 15:28:41 IP:211.21.xxx.xxx 未訂閱
引言: 還是一樣出現 The transaction isolation level mst be dirty for local datebases.
引言: 改成這樣試試 Database1.StartTransaction; try query1.ApplyUpdates; Database1.Commmit; query1.CommitUpdates; except Database1.Rollback; query1.CancelUpdates; end; @@~~飛翔在天際的精靈~~@@
[/quote] 檢查一下您的query1屬性CachedUpdates要設為True 您的資料庫應該是Local的資料庫吧!如:Paradox。如是改用下列的寫法
with Query1 do
begin
  if UpdatesPending then//檢查是否有資料未存入後端的資料庫中,這樣寫比較保險
    try
      ApplyUpdates;
    except
      raise Exception.Create('資料寫入錯誤');
    end;
end;
~小弟淺見,參考看看~ 發表人 - channel 於 2003/04/23 15:57:27
------
~小弟淺見,參考看看~
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-23 15:33:34 IP:218.16.xxx.xxx 未訂閱
你 database1 的 Translsolation 有否設為 tiDirtyRead 你的 Error 似乎顯示你還是使用預設的 tiReadCommitted
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-23 15:36:01 IP:218.163.xxx.xxx 未訂閱
參考這篇 http://delphi.ktop.com.tw/topic.php?topic_id=28644 另外,你是用什麼資料庫 ?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-23 16:04:23 IP:218.16.xxx.xxx 未訂閱
Mickey 版主....    你的車呢?    不是喝太多不見了罷 另 : 看他的
chcdelphi
一般會員


發表:4
回覆:6
積分:2
註冊:2003-04-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-23 16:23:41 IP:211.21.xxx.xxx 未訂閱
感謝大家的回答....          
引言: 你 database1 的 Translsolation 有否設為 tiDirtyRead 你的 Error 似乎顯示你還是使用預設的 tiReadCommitted
系統時間:2024-11-25 9:30:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!