ACCESS数据库"记录日期"是'短日期'型的,就是****-**-**.
语句
query1.SQL.Clear;
query1.SQL.Add('insert into 总览表 values(:当日花费总金额,:记录人,:记录日期)') ;
query1.ParamByName('当日花费总金额').AsString := edit1.Text;
query1.ParamByName('记录人').AsString := combobox1.Text;
query1.ParamByName('记录日期').AsDate := datetimepicker1.Date;
query1.ExecSQL;
最后那个日期谁帮我看看,我卡了两天了

解决方案 »

  1.   

    你的WINDOWS的日期时间格式中在 “上午”“下午”中文字
    方法1:改WINDOWS的日期时间格式 为没有“上午”“下午”---需要每一台电脑都要设置
    方法2:query1.ParamByName('记录日期').AsDate := datetimepicker1.Date;
           改为
           query1.ParamByName('记录日期').AsString := formatdatetime('yyyy-mm-dd',datetimepicker1.Date);
      

  2.   

    access数据库的日期要用"#"括起来
      

  3.   

    sql.Clear;
               SQL.Add('select * from fjzd where');
               SQL.Add('((sdata>=#' + FormatDateTime('yyyy-MM-dd', fjzdcxf.DateTimePicker1.Date) + '# and sdata<=#' + FormatDateTime('yyyy-MM-dd', fjzdcxf.DateTimePicker2.date) + '#) and fqrname like ''%' + fjzdcxf.cxedit.Text + '%'') order by sdata');
               Open;
    我写的这个是查询语句,和你那个不同
    但是日期的都是一样的,
      

  4.   

    对于这样类型的 sql 语句,最好自己生成 sql 字符串尽可能自己直接和后台打交道,这样,调式起来就会方便些
      

  5.   

    access 的日期格式是是用#来定义的
    上网查一下就知道了