在dbgrid表中输入日期(数据库字段为date),如果不是日期的类型(比如输入212)就会报错:“‘212’is not a valid date”,如何处理为:“输入的日期格式不对,请参照日期格式2003-11-20”这样的报错信息?我的意思是使系统报错形式:‘212’is not a valid date 改为“输入的日期格式不对,请参照日期格式”。
有朋友说:在dbgrid关联的数据集的OnEditError中进行处理
我进行了处理:dbtem是连接dbgrid的数据表procedure Tfrmrjz.dbtemEditError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
showmessage('输入的日期格式不对,请参照日期格式2003-11-20');
end;是不是还需要条件?如何写?请教

解决方案 »

  1.   

    if e.message='' then
    showmessage(''); 
      

  2.   

    你try一下就行了
    try
       xxx
       xxx//这里写你的语句
    excupt
      showmessage('输入的日期格式不对,请参照日期格式2003-11-20');
    end;
      

  3.   

    如果我用的是MaskEdit,格式是日期型的,而且不允许为空.
    那么出错后,我又该如何把出错信息转为中文的.
      

  4.   

    同意 prettysky(浪际天涯) 地看法!
      

  5.   

    我这种问题我开始的时候也遇到过
    你可以在那个日期字段settext事件里写代码
    步骤如下
    右击你的那个数据集控件选择编辑字段
    然后添加所有的字段
    选择那个日期型的字段在他的onsettext事件里写
    var
     dt:Tdatetime;
    begin
      if trystrtodate(text,dt) then
          sender.AsDateTime:=dt
      else
       showmessage('非法的时间录入')
    end;