var
   T :TdateTime;
begin
   T:=now;
   ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('INSERT INTO aaa VALUES(T,'ssss')');
   ADOQuery1.ExecSQL;
end;
这个SQL有什么错啊
老是提示错误啊!
该怎么改啊?
就是在VALUES(T上有错,错在T上我怎么改都不行啊

解决方案 »

  1.   

    ADOQuery1.SQL.Add('INSERT INTO aaa VALUES(:var,'ssss')');
    adoquery1.parameters.ParamByName(var).value:=datetostr(T);
      

  2.   

    limant(sky) 你的方法不行啊
    字符串转化时间出错拉
    我该了还是不行啊
      

  3.   

    adoquery1.parameters.ParamByName('var').value:=datetostr(T);
      

  4.   

    其实就是一条动态的SQL语句,要不要转换成String类型就看你的aaa表中的那个字段类型了
      

  5.   

    adoquery1.parameters.ParamByName('var').value:=datetostr(T);
    这句话不对啊
    我表里本来就是datetime类型
      

  6.   

    adoquery1.parameters.ParamByName('var').value:=T;
      

  7.   

    是可以
      但是假设表里的字段很多那这样写下来的adoquery1.parameters.ParamByName('var').value:=T;这个语句不是很多?
      能有简单点的方法不?
      

  8.   

    如果是插入的话,我建议你直接用adoquery1.appendrecord([各字段值]);
      

  9.   

    把你的语句中ssss的单引号改成双引号!
      

  10.   

    错了,是limant(sky) 说的VALUES([T,'ssss'])而不是(T,'ssss')
      

  11.   

    直接照帮助的写啦:Customer.InsertRecord([CustNoEdit.Text, CoNameEdit.Text, AddrEdit.Text, Null, Null, Null, Null, Null, Null, DiscountEdit.Text]);
      

  12.   


    var
       T :TdateTime;
    begin
       T:=now;
       ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('INSERT INTO aaa (时间字段) VALUES('+#39+datetostr(T)+#39+')');
       ADOQuery1.ExecSQL;
    end;
    INSERT里VALUES前要有插入的对应字段的,还有,你SSSS我不知道是字符串变量还是字符串,就将去掉了,如果是字符串变量,可以将上句改成这样:
    ADOQuery1.SQL.Add('INSERT INTO aaa (时间字段,SSSS对应字段) VALUES('+#39+datetostr(T)+#39+','+#39+ssss+#39+')');
      

  13.   

    ADOQuery1.SQL.Add('INSERT INTO aaa VALUES(''T'',''ssss'')');