关于录入中的数据存储问题(200分)

  • 主题发起人 主题发起人 KaiLong
  • 开始时间 开始时间
K

KaiLong

Unregistered / Unconfirmed
GUEST, unregistred user!
C/S类型的数据库通常使用TQuery+TUpdateSQL+TDBGrid进行数据的输入与存储,
通常我们通过编程在进行存储数据之前对数据进行检查,不符合条件的数据将不能存储,
比如数据库中的关键字段不能重复,实际上我们可以使用UpdateError事件,
但当执行UpdateError事件进行处理后,TDBGrid中的数据将不再显示,
同时又有可能引发其它类型的错误,导致程序无法继续运行。
请问大家有何高见?如何有效利用系统自身的拦截与处理功能?
 
dbgrid中的数据不能显示
把autorefresh设为true呢
 
个人认为UpdateError并不能很好的处理业务规则,
建议在事务中先进行有数据较验,通过后再提交,如果违反则回滚事务.
 
同意Freesweet的看法,可不可以用Timer控件定时刷新
 
在 beforepost 中检查数据,有问题的时候触发一个异常,退出 post
在异常处理中处理数据错误
 
beforepost
try
...
except
...
end
 
多人接受答案了。
 
后退
顶部