1、执行
     begin
     close;
     sql.Clear ;
     sql.add('select xingming,riqi from 1201 where riqi is null ');
     open;
     end;
     DateTimePicker3.Date:=query1.fieldbyname('riqi').Value  ;会出错因为,查询结果riqi 是空值,无法赋值 ,该怎么改。如何判断查询 riqi 是空值。
2、执行
     begin
     close;
     sql.Clear ;
     sql.add('select xingming,riqi from 1201 where riqi=‘‘2010-12-1’’');
     open;
     end;
     edit1.text:=query1.fieldbyname('riqi').Value  ;
也出错
edit1.text:=query1.fieldbyname('riqi').Value  ;改怎么改。谢谢

解决方案 »

  1.   

    //补充一下
    'select xingming,riqi from 1201 
    riqi 是日期型字段,它的字段值 是空(NULL)所以会出现第一个问题的错误。
      

  2.   

    如何判断查询 riqi 是空值。
    if not query1.fieldbyname('riqi').IsNull then
      DateTimePicker3.Date:=query1.fieldbyname('riqi').AsDateTime;
    if not query1.fieldbyname('riqi').IsNull then
      edit1.text:=query1.fieldbyname('riqi').AsString 
    else
      edit1.text:='';
      

  3.   

    第一个,你查出的就是null,条件都是null的,干嘛还给datatimepicker赋值呢,这不是没事找事吗
    第二个,如果不为空 edit1.text:=query1.fieldbyname('riqi').AsString