お世話になっております。
質問は表題の通りです。
AppendでDBGridに行を追加して、UpplyUpdatesでDBへデータの追加を行うのですが、データの更新はできるのですが追加ができていないようです。
何か間違いでもあるのでしょうか?
以下ソースです
//データを更新
procedure TForm3.BitBtn2Click(Sender: TObject);
begin
ClientDataSet1.ApplyUpdates(-1);
end;
//DBGridに行を追加
procedure TForm3.BitBtn4Click(Sender: TObject);
begin
ClienDataSet1.Append;
end;
POSTしてる?
回答ありがとうございます。
PostするタイミングはAppendを行った後でよろしいのでしょうか?
そうするとDBのほうで、非ヌルにしてる項目があるので、エラーを吐き出してしまいます。
1.DBGridに一行追加(Append)
↓
2.値を入力
↓
3.更新(ApplyUpdates)
という手順を踏んでます。
2と3の間でPostを行ってもDBには反映されていませんでした。
>そうするとDBのほうで、非ヌルにしてる項目があるので、エラーを吐き出してしまいます。
非ヌルにしてる項目があるなら、それがヌルのまま追加出来てしまう方が問題では?
2.値を入力と3.更新(ApplyUpdates)の間にPostは必要です。
Postでエラーになるなら、エラーにならないようにしないと。
DBが何かは分かりませんが、デフォルト値を指定していないのであれば
AfterInsertイベントで非ヌル項目に適当な値(通常は定められた初期値があるはず)を
設定してあげればいいでしょう。
ApplyUpdateの返り値を確認してみてください。
皆様、回答ありがとうございます。
皆様の回答を参考に試行錯誤したら解決しました
ツイート | ![]() |