Paradoxのデーターが消える?? 安全なセーブ方法はありませんか?


サッチン  2008-07-29 06:51:35  No: 31387

始めまして・・・Delphi5を始めて1年の初級者です。データーベースはParadoxを使っているのですが少し重いバッチプログラムを作ってフリーズした場合Windowsのタスクマネージャーでプログラム終了させるると追加されていたはずのデーターが消えてしまっています。下記みたいにごく一般的なプログラムなのですが・・・何か良い回避方法は無いでしょうか。ちなみにCopyFileTO()やBatchMoveを使っても駄目でした。

Table1.Open;
Table1.Append;
Table1.FieldByName('code').AsString :='aaa';
Table1.Post;
Table1.Close;


igy  2008-07-29 10:18:54  No: 31388

BDEの設定で LOCAL SHARE を True にするのは、どうですか?


HOta  2008-07-29 19:24:16  No: 31389

フリーズすることが問題でしょう。
TableはQueryにしたほうが汎用性が出ます。

>Table1.Open;
>Table1.Append;
>Table1.FieldByName('code').AsString :='aaa';
>Table1.Post;
Table1.UpdateRecord;   '<--これをいれたらどうでしょうか?
>Table1.Close;


cocomo  2008-07-29 19:57:23  No: 31390

私は10年以上前、paradoxの時は良くありました。今は使っていないけど。
Post後に
DbiSaveChanges(Table1.Handle)
usesにBDEが必要
DbiSaveChangesは検索かBDEのマニュアルを見て下さい。
なんせ、Delphi2の頃なので、現在はわかりませんがね。


通りがかり  2008-07-29 22:28:37  No: 31391

interbase/firebirdなどのDBMSでは、あまり起きない事ですが
paradox(BDE)では、テーブルをオープン状態でPCが落ちたりすると(停電、フリーズ)
殆ど一発でエラー状態になります。

もしそうなってしまった場合は、以下のアドレスにも情報がありますが
https://www.petitmonte.com/bbs/answers?question_id=4803
「DTUTIL32.EXE」と言うツールで簡単に修復ができます。

paradox(BDE)で使う場合は、取敢えずこまめに「close」処理を入れる事でしょうか。
(気軽な反面、信頼性は低いです)


通りがかり  2008-07-29 22:46:41  No: 31392

..と、投稿した後に「tutility」でググッてみたら、元?本家(borland)にも
まだ、残っていました・・・

ご存知の方もいらっしゃるかも知れませんが、一応参考までに..
http://info.borland.com/devsupport/bde/utilities.html

消し忘れているのか、一応最後の奉仕?
他のツール等も(ソース含む)あるようですので
必要な方は、今のうちにDLされた方が良いかと...


まじっかぁ  2008-07-29 22:56:05  No: 31393

データベースのクローズでセーブできないですかね?


サッチン  2008-07-30 01:31:31  No: 31394

みなさん、短い時間に色んな情報ありがとうございます、全部トライしてみます。感謝です(涙)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加