IBQueryのApplyUpdateについて

解決


サンプー  2006-06-29 04:55:29  No: 22323

DL6pro,xp,Interbase6の環境です。
paradoxよりinterbaseへデータベースを変更する作業をしています。
データモジュールにdatasource,IBQuery,IBdatabase,IBTransaction,IBUpdateSQLを貼り付けてあります。
以下のコードでエラーが発生します。
エラーメセージ
'更新失敗’
’ユーザーによる中断’

FrmShohiyoには、DBGridを貼り付け、DM009.IBQueryShohiyo 等を正しく関連付けています。

以下、コード
procedure TFrmShohiyo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  with DM009.IBQueryShohiyo do
  If MessageDlg('変更を保存して終了しますか?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
       begin
       DM009.IBQueryShohiyo.Edit;
       DM009.IBQueryShohiyo.post; //ここまでは、上手く動作し、DBGridの値も変更されます。
       DM009.IBQueryShohiyo.ApplyUpdates ;  // ここでエラー
       Close;
       Open;
       FrmShohiyo.Close;
       end
    else
    Cancel;
    FrmShohiyo.Close;
end;


HOta  2006-06-29 17:02:43  No: 22324

DM009.IBQueryShohiyoのChashedUpdatesプロパティは、Trueになっていますか?


サンプー  2006-06-29 17:34:38  No: 22325

HOTAさんいつも有難うございます。
DM009.IBQueryShohiyoのChashedUpdatesプロパティは、Trueになっていますか

一番最初に確認しました。trueです


HOta  2006-06-30 00:22:53  No: 22326

エラーメッセージは何がでていますか?


サンプー  2006-06-30 18:48:16  No: 22327

プロジェクトOnine09.exeがEIBClientErrorクラスの例外を生成しました。
’更新失敗’
プロセスは・・・・
となっています。
更にステップ実行を行うと
プロジェクトOnine09.exeがEIBClientErrorクラスの例外を生成しました。
’ユーザーによる中断’
という警告が発生されます


HOta  2006-07-01 06:48:50  No: 22328

キーに入る値は、文字の長さ等はきちんとしていますか?重複は有りませんか?NotNull項目には、データーが入っていますか?
文字列などで、CharSet に2バイト文字を指定していて、1バイト文字を入れた場合は、1文字に2バイト使います。
登録する文字列を短くしてみて、登録できるかも調べてみてください。


サンプ  2006-07-06 23:33:50  No: 22329

HOTAさん有難うございました。
私なりに、色々コードを調べたりして検討しました。時間がかかってしまいましたが、何とか質問の件については解決できました。解決法を上手く表現できないので、とりあえず結果だけを報告します。
又よろしくお願いします。


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

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






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