我用Access数据库,某字段设置为短日期,在添加记录时该字段的值取为
DateToStr(Date),结果就出现了这样的情况?怎么办呀?    with ADOQuery1 do
    begin
      Close;
      Sql.Clear;
      Sql.Add('insert into 政府监督信息表(主题,图片位置,内容,时间) values('+
              QuotedStr(TopicEdit.Text)+','+
              QuotedStr(PicPathEdit.Text)+','+
              QuotedStr(ContentMemo.Text)+','+
              FormatDateTime('yyyy-mm-dd',Date)+')');
      ExecSql;
    end;

解决方案 »

  1.   

    Sql.Add('insert into 政府监督信息表(主题,图片位置,内容,时间) values('+
                  QuotedStr(TopicEdit.Text)+','+
                  QuotedStr(PicPathEdit.Text)+','+
                  QuotedStr(ContentMemo.Text)+','+
                  '#'+FormatDateTime('yyyy-mm-dd',Date)+'#'+')');
      

  2.   

    你可以先用showmessage看看,到底那一个sql语句是什么东西,另外你要是access中好像日期前后要加上#号
      

  3.   

    with ADOQuery3 do
        begin
          Close;
          Sql.Clear;
          Sql.Add('insert into 表1(ad) values(#'+
                  datetostr(date) + '#)');
          ShowMessage(SQL.Text);
          ExecSql;
        end;  //access数据库需要为日期型字段加##