有的表不可以,
Access、SQL Server建议用#
insert into table (uname,datetime) value('123',#2002-03-20 12:29:30#)

解决方案 »

  1.   

    li_zhifu(东北人) 还是说,INSERT INTO 语句语法错误
      

  2.   

    有两个保留字:Table,Datetime
    建议改Table(表名)为Table1,DateTime(字段名)为Datetime1
    ADOQuery1.SQL.Add('Insert Into Table1 (uName,DateTime1) Values ('#39+'123'#39+',:datetime)');
    ADOQuery1.Parameters.ParamByName('DateTime').Value:=StrToDateTime('2002-03-20 12:29:30');
    ADOQuery1.ExecSQL;
      

  3.   

    对不起还是不行,
    还是说,INSERT INTO 语句语法错误
      

  4.   

    Access用#
    SQL Server用'
      

  5.   

    注意你的sql中的单引号,记得写成''表示一个';
      

  6.   

    我用是odbc下的 Microsoft Access Driver(*.mdb) 做为连接数据库(默认配置)在Delphi 下我用的是DataBase接连,这是不是会有所影响????winglion(狂言)   是'引号newyj(老鬼)   还是一样的错误
      

  7.   

    我是这样写的:
    query1.sql.add('insert into table2 (user,name,datetime1) value(:user,:name,datetime1)');   query1.ParamByName('user').AsString:=Edit3.Text;
       query1.parambyname('name').AsString:=Edit4.Text;
       query1.parambyname('datetime1').AsString:=Edit7.TExt;
      

  8.   

    另一种是这样写的:   adoquery1.sql.add('insert into table2 set user=:user,name=:name,datetime1=:date1');
       adoquery1.Parameters.ParamByName('user').Value:=Edit3.Text;
       adoquery1.Parameters.ParamByName('name').Value:=Edit4.Text;
       adoquery1.Parameters.ParamByName('date1').Value:=Edit7.Text;
      

  9.   

    1是Values,你少了个s
    2:DateTime1,你少了个:
      

  10.   

    user是关键字,你要用[]把它括起来,或者你可以把所有的字段名用[]括起来,如'insert into table2 ([user],[name],[datetime1]) value(:user,:name,datetime1)'
      

  11.   

    adoquery1.Parameters.ParamByName('date1').AsString:=Edit7.Text
      

  12.   

    insert into "table" ("uname","datetime") value('123','2002-03-20 12:29:30')
    你的table不能取名为 table,换给别的名字。
    datetime一般都是保留字,也换个名字。
      

  13.   

    兄弟们暂停,有答案了。我现在宣布正确答案…………
      楼上的
      linzi(林子)   答案正确,可行!!!
      li_zhifu(东北人)  
            adoquery1.Parameters.ParamByName('date1').Value的value是没有s的
     
    在写的时候,字段要用[]括起来!!!记住!!!!千万要记住!!!!