异常事件后的DBGrid行为

时间:2012-10-16 14:14:32

标签: delphi delphi-5

我需要以下问题的帮助。我使用以下组件类型实现了可编辑的DBGrid:TQuery,TDataSource,TUpdateSQL,TDBGrid。 Query AfterPost事件处理程序将更改应用于数据库。

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

因此,如果我在DBGrid中编辑一行并移动到另一行或按向下箭头键,我所做的更改将应用​​于数据库。除了一个例外,一切正常。输入错误值时,将引发数据库异常并显示消息,例如“Column ...不能为NULL”。在消息框中单击“确定”后,应用程序允许我浏览DBGrid并转到另一行而不尝试应用更改并且不再显示异常消息。仅当我编辑另一行或再次编辑同一行时,它才会显示异常消息。我不希望应用程序允许我这样做。在输入正确的值之前,我想要移动到DBGrid中的另一行是不可能的。

提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

最有可能你应该在try除了块之外处理错误。或者在发布到数据库之前验证条目。