query1.SQL.Add('insert into 总览表 values(:当日花费总金额,:记录人,:记录日期)') ;
query1.ParamByName('当日花费总金额').AsString := edit1.Text;
query1.ParamByName('记录人').AsString := combobox1.Text;
query1.ParamByName('记录日期').AsDate := strtodate(edit2.Text);
错误提示:时间日期格式无效(null)',很奇怪怎么是空值......DEIT2里明明有显示2007-1-30的

解决方案 »

  1.   

    看看 StrToDate转换后是什么数
      

  2.   

    query1.ParamByName('记录日期').AsDate := VarToDateTime(edit2.Text);
      

  3.   

    看看 StrToDate转换后是什么数
    怎么看??
      

  4.   

    没人解决得了?我数据库里是短日期型的,所以转换成DATE应该是没错啊....怎么要没报空值,要么就是数据类型不对....我气啊................
      

  5.   

    query1.ParamByName('记录日期').AsDate := strtodate(edit2.Text);这个字段????
    1.你看看你数据库是不是设置的日期类型
    2.既然是日期类型为什么要用edit2.text?人家客户用的时候能一个一个的填写吗?就是一个一个的写,也是非常容易写错的!~DateTimePicker1是不是就这样让你给整下岗了?
    3.既然你用的是EDIT.是不是你输入的时候不符号数据库的日期类型标准?
      

  6.   

    数据库建立是短日期型的,关于控件的话我用datetostr(date)转过来的,自动显示当前日期的,不用手工填写,但是这个控件还关连着查询条件.我想过取消这个控件的,自动显示的是当前的日期'2007-2-1'
      

  7.   

    那如果用DateTimePicker语句该怎么改?
      

  8.   

    query1.ParamByName('记录日期').AsDate := now();
      

  9.   

    ACCESS数据库中的日期格式好象不是正规的DATE型,我以前做过的系统中也是报类似错,后面我是直接将日期用String类型存储的
      

  10.   

    query1.ParamByName('记录日期').AsDateTime := VarToDateTime(edit2.text);