zoukankan      html  css  js  c++  java
  • Delphi 在dbgrideh中表格输入数据时有效性的检查(转)

    在数据库系统设计中经常要用到在表格中进行数据录入,如何判断在数据导入时的数据有效性呢?下面介绍几种常用的方法与大家交流。

    方法一: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;

  • 相关阅读:
    宜未雨而绸缪,毋临渴而掘井。
    JDBC fetch size
    社会主义核心价值观
    JavaEE
    《夜泊牛渚怀古》
    JAVA "GMT+10" 和 "GMT+0010"
    乡村振兴1
    申论 题好文一半
    UCOS时钟与中断:
    任务的状态-挂起和恢复
  • 原文地址:https://www.cnblogs.com/jijm123/p/12606529.html
Copyright © 2011-2022 走看看