tbName := FormatDateTime('"sss"YYYYMM',DATE);
SQL := Format('Insert into '+ tbName + ' (DTime,CarNum,speed) Values' ,
        [FormatDateTime('YYYY-MM-DD hh:nn:ss',now),
        Edit1.Text,
        Edit2.Text]);
提示Value语法错误,如何解决?

解决方案 »

  1.   

    你用的Format的参数好象就不正确。你再好好看一看sql的插入语句的语法。这个不难的。
      

  2.   

    SQL := 'Insert into '+ tbName + ' (DTime,CarNum,speed) Values'  
            + '(' + QuotedStr(FormatDateTime('YYYY-MM-DD hh:nn:ss',now)) 
            +Edit1.Text, 
            +Edit2.Text+')';
      

  3.   

    SQL := 'Insert into '+ tbName + ' (DTime,CarNum,speed) Values'  
            + '(' + QuotedStr(FormatDateTime('YYYY-MM-DD hh:nn:ss',now)) 
            +Edit1.Text, 
            +Edit2.Text+')';
    编译通不过,提示+Edit1.Text,有错误
      

  4.   

    insert into 表valuse(要插入的字段)
      

  5.   

    SQL := 'Insert into '+ tbName + ' (DTime,CarNum,speed) Values' 
            + '(' + QuotedStr(FormatDateTime('YYYY-MM-DD hh:nn:ss',now))
            +','+Edit1.Text+','
            +Edit2.Text+')'; 
    少了','分隔
      

  6.   

    SQL:= 'Insert into AAA (DTime,CarNum,speed) Values'
            + '(' + QuotedStr(FormatDateTime('YYYY-MM-DD hh:nn:ss',now))+','
            +QuotedStr(Edit1.Text)+','+QuotedStr(Edit2.Text)+')';
    调试通过
      

  7.   

    编译是通过了 ,ExecSQL时候,有错误!
      

  8.   

    with adoquery do
    begin
      close;
      sql.clear;
      sql.add();
      execsql;
    end;
    adoqyery.commit;格式如上?有什么错误提示?如有sql.savetofile可能是保存的path不存在
      

  9.   

    或者是日期的格式和database的不一致,呵呵
      

  10.   

    如果是 Oracle 数据库,
    QuotedStr(FormatDateTime('YYYY-MM-DD hh:nn:ss',now))
    可以修改成
    SYSDATE方便快捷,不会出现格式转化的错误。
    注意,SYSDATE是当前时间,对应 now。
    其他时间,还是要用上面的方法,或者to_date()函数。
      

  11.   

    SQL2000数据库,DTime为datetime型,CarNum,speed均为Vchar,Edit1,2的值为数字CarNum,speed中添加成功 ,
    其他的 就出错!
      

  12.   

    有可能你的database里面,日期格式不是yyyy-mm-dd hh:mi:ss
    你看看吧
      

  13.   

    14楼,日期格式格式没什么问题,问题出在,Edit1,2的值为数字时CarNum,speed中添加成功 ,字符串时出错