异常事件后的DBGRID行为



我需要以下问题的帮助。我使用以下组件类型实现了一个可编辑的DBGrid:tquery,tdatasource,tupdatesql,tdbgrid。查询后置柱事件处理程序将更改应用于数据库。

procedure TCardForm.Query2AfterPost(DataSet: TDataSet);
begin
  Query2.ApplyUpdates;
end;

因此,如果我在dbgrid中编辑一行并移至另一个行或按下箭头键,则将我所做的更改应用于数据库。一切都很好,一个例外。输入不正确的值时,会抛出数据库异常并显示消息,例如"列...不能为null"。在"消息"框中单击"确定"后,应用程序允许我浏览DBGRID,然后转到另一排,而无需尝试应用更改,而无需再次显示异常消息。它仅在我编辑另一行或再次编辑同一行时显示异常消息。我不希望该应用程序允许我这样做。我想在输入正确的值之前移动到DBGrid中的另一行。

预先感谢您的回答!

很可能您应该在try中处理错误。或在发布到数据库之前验证条目。

最新更新