在数据库系统设计中经常要用到在表格中进行数据录入,如何判断在数据导入时的数据有效性呢?下面介绍几种常用的方法与大家交流。
方法一:Dbgrid是与Table,在Table的Column的OnSetText和OnValidate事件中处理。 1、在OnSetText中判断数据的合法性,如果不合法,在OnValidate处理,如果不合法则abort
2、抛出一个异常Raise,即可保证焦点不会丢失。
也可以在Table1.BeforePost里面处理,如果不符合要求,ShowMessage(""),然后Abort;
方法二:如果是Adoquery ,在Column的OnSetText和OnValidate事件中处理。 在OnValidate处理,如果不合法则abort。
procedure Tfrm_cginput.q_maind_dateValidate(Sender: TField);
begin if Sender.FieldName='d_date' then if (Sender.AsDateTime>_DEnddate) or (Sender.AsDateTime<_DStartdate) then begin showmessage('日期超出范围'); abort; end; end;
方法三:
可以用DBGrid1ColExit事件进行。 procedure TForm1.DBGrid1ColExit(Sender: TObject); begin case DBGrid1.SelectedIndex of 0:if DBGrid1.DataSource.DataSet.Fields[0].value<>'我想要的值' then 于吗于吗。 1: .. end; end;
|
请发表评论