dbgrid的字段合法性校验。(30分)

  • 主题发起人 主题发起人 webease
  • 开始时间 开始时间
W

webease

Unregistered / Unconfirmed
GUEST, unregistred user!
一个dbgrid作为录入的界面,对代码字段双击后通过表B提供该代码对应的
基础数据(lookup字段实现的),如名称,产地等,但希望对其中数量,单价
字段录入时控制数据的合法性(如不得低于某一值),录入的数量单价也取自
表B,进行这样的校验,用什么事件比较好?每次都到表中查找有点繁琐,影响效率。
 
oncolexit事件里检查吧
 
在单价字段的OnSetText事件中检查。
 
在静态字段的onValidate事件中判断。
try
...
except
raise Exception.Create('错误提示');
end
 
建立永久字段,然后设置其ConstraintErrorMessage(提示信息),CustomConstraint(纠
错规则)
 
我想用dbgrid的oncolexit事件比较好如下:
procedure Tform.dbgridcolexit(sender:Tobject);
begin
with dbgrid.selectedfield do
begin
if............
end;
end;

 
你可以在Query的BeforePost中写数据校验代码,如果某字段出错,可以使用
DBGrid.SelectedIndex属性回到出错字段进行修改。
 
数据库编程---输入数据的有效性验证:
1、基于数据库表的有效性验证
2、基于字段的有效性验证
3、基于记录的有效性验证
很显然,你应用后两种。
字段的有效性验证---编写 OnValidate 事件
记录的有效性验证---编写 BeforePost 事件
 
比较简单的处理办法:
在字段的onValidate事件中判断。
procedure table1.table1field1DesignerValidate(Sender: TField);
begin
IF (判断TABLE1FIELD1.VALUE) THEN
BEGIN
....
MESSAGEDLG('....',MTERROR,[MBOK],0)
ABORT;
END;
end;
 
多人接受答案了。
 
后退
顶部