次の問題について助けが必要です。TQuery、TDataSource、TUpdateSQL、TDBGrid のコンポーネント タイプを使用して、編集可能な DBGrid を実装しました。Query AfterPost イベント ハンドラーは、変更をデータベースに適用します。
procedure TCardForm.Query2AfterPost(DataSet: TDataSet);
begin
Query2.ApplyUpdates;
end;
したがって、DBGrid の行を編集して別の行に移動するか、下矢印キーを押すと、行った変更がデータベースに適用されます。1 つの例外を除いて、すべて正常に動作します。正しくない値が入力されると、データベース例外がスローされ、「列 ... は NULL にすることはできません」などのメッセージが表示されます。メッセージ ボックスで [OK] をクリックすると、変更を適用したり例外メッセージを再度表示したりすることなく、DBGrid を参照して別の行に移動できます。別の行を編集するか、同じ行を再度編集する場合にのみ、例外メッセージが表示されます。アプリケーションでそれを許可したくありません。正しい値を入力するまで DBGrid の別の行に移動できないようにしたい。
ご回答ありがとうございます。