我在用delphi+ado+oracle开发一个管理系统,遇到如下问题,就是库中的一个'DATE'型字段,当我用maskedit空间进行输入的话,如果不输入时间的话,也就是maskedit的text为空的时,post后会出错,如果输入一个像1111-11-11的值则不会出错。如果我默认这个字段为空的话,该如何输入??高手清指点,我的maskedit的editmask属性为‘!9999/99/99;0;_’,帮帮,救急!!!

解决方案 »

  1.   

    如果要使日期字段为空,必须在maskedit为空时另执行一条Insert的SQL,此时不要对该日期字段赋值
      

  2.   

    不如这样,如果为空,你将该控件赋值‘1900-01-01’,然后写一条SQL,将该日期SET NULL
      

  3.   

    如果为空,那么sql里就不要插入日期就可以了。
      

  4.   

    问题是我该如何判断为空呢?我现在用maskedit.text='' 或者 maskedit.text='    -  -  '都不行。
      

  5.   

    you can use showMessage(maskedit.text)tho see what it's text is
      

  6.   

    if StringReplace(maskedit.Text,' ','',[rfReplaceAll])='--' then//去掉全部空格
       showmessage('not null');
      

  7.   

    考慮下用DateTimePicker.date替代 masketedit.text!!