【问题标题】:DBGrid behaviour after an exception event异常事件后的 DBGrid 行为
【发布时间】:2012-10-16 14:14:32
【问题描述】:

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

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

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

提前感谢您的回答!

【问题讨论】:

    标签: delphi delphi-5


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 2018-06-11
      • 2013-08-09
      • 2011-02-01
      相关资源
      最近更新 更多