資料庫連結如何做結束中斷??...急件! |
答題得分者是:P.D.
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 資料庫連結如何做結束中斷?? 1.程式一般正常關閉,資料庫管理新增是正常的。但因系統不穩造成當機時, 如:遇到Explorer關閉警告視窗,電腦重新開機後,之前新增的資料,就不見了。 2.使用Paradox資料庫,是不是少編寫一、兩行程式碼? 例如:Table1.Open、Table1.Close,放在新增程式碼之後。 以上問題若知道,希望幫我一下! 我覺得Paradox資料庫,好像問題蠻多的!雖然早期Delphi一再強調使用Paradox資料庫是與Delphi最好的結合, 但所有使用過的人都是知道, Paradox十分不穩定, 甚至比dbf更容易掛掉, 不過 db用做次級重要性或是一些不具重要性的參數設定檔還是比較容易設計的, 而這個問題已經討論很多, 我在會員上傳區有一個xtable元件(我整合數個繼承table的vcl), 理論上可以解決這個問題, 但我強烈建議你在下 post之後, 一定要 close 資料庫再 open, 這樣保證你的資料不論當機與否, 一定會存入(除非資料庫因當機毀損), 如下 table1.edit; ..... table1.post; table1.close; sleep(500); -->這個主要是讓電腦停一下, 因為我實測如果太快, 還是有可能會不見, 當然如果不加這行可以確定有存入的話, 那就不要加! table1.open; // 如果open之後想要回到原來那筆, 可以用locate, bookmark, 方式回到原來記錄 |
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
謝謝指教! 補充一個例子: Boomarks回到原編輯資料
begin
withTable1 do
begin
{ get a bookmark so that we can return to the same record }
SavePlace := GetBookmark;
try { move to prior record} FindPrior; { get the value } PrevValue := Fields[0].Value; {Move back to the bookmark this may not be the next record anymore
if something else is changing the dataset asynchronously }
GotoBookmark(SavePlace);
{ Set the value }
Fields[0].Value := PrevValue;
{ Free the bookmark }
finally
FreeBookmark(SavePlace);
end;
end; end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |