AppendしてからのApplyUpdates

解決


99  2013-04-24 04:59:27  No: 44408

お世話になっております。
質問は表題の通りです。

AppendでDBGridに行を追加して、UpplyUpdatesでDBへデータの追加を行うのですが、データの更新はできるのですが追加ができていないようです。
何か間違いでもあるのでしょうか?

以下ソースです
//データを更新
procedure TForm3.BitBtn2Click(Sender: TObject);
begin
     ClientDataSet1.ApplyUpdates(-1);
end;

//DBGridに行を追加
procedure TForm3.BitBtn4Click(Sender: TObject);
begin
     ClienDataSet1.Append;     
end;


KHE00221  2013-04-24 19:56:34  No: 44409

POSTしてる?


99  2013-04-25 00:08:28  No: 44410

回答ありがとうございます。

PostするタイミングはAppendを行った後でよろしいのでしょうか?
そうするとDBのほうで、非ヌルにしてる項目があるので、エラーを吐き出してしまいます。

1.DBGridに一行追加(Append)

2.値を入力

3.更新(ApplyUpdates)
という手順を踏んでます。
2と3の間でPostを行ってもDBには反映されていませんでした。


Quest  2013-04-25 13:05:29  No: 44411

>そうするとDBのほうで、非ヌルにしてる項目があるので、エラーを吐き出してしまいます。
非ヌルにしてる項目があるなら、それがヌルのまま追加出来てしまう方が問題では?
2.値を入力と3.更新(ApplyUpdates)の間にPostは必要です。
Postでエラーになるなら、エラーにならないようにしないと。
DBが何かは分かりませんが、デフォルト値を指定していないのであれば
AfterInsertイベントで非ヌル項目に適当な値(通常は定められた初期値があるはず)を
設定してあげればいいでしょう。


サトウ  2013-04-25 21:26:26  No: 44412

ApplyUpdateの返り値を確認してみてください。


99  2013-04-26 18:43:11  No: 44413

皆様、回答ありがとうございます。
皆様の回答を参考に試行錯誤したら解決しました


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

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






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