我要向Access数据库的表中插入纪录,用了TADOQuery控件,SQL语句如下:
INSERT INTO Total(TeacherName,Teach,Academic,Other,Achievement,Money)
VALUES(:Teacher,:TeachA,:AcademicA,:OtherA,:Achieve,:MoneyA)
其中:Teacher,:Teach等为参数,在程序中附值!
写完我的SQL语句后,试图把TADOQuery控件的Active属性设为True时
就出现了这个错误!错误提示为:INSERT INTO语句语法错误!

解决方案 »

  1.   

    你的参数都有值吗?
    调试一下,看看你的sql语句对不对
    不知道你怎么赋值的;
    不同的字段类型,insert into要求的很严格的
    被插入的必须符合原来字段的约束条件
      

  2.   

    SQL修改如下:
      with adoquery1 do 
      begin 
         close;
         sql.clear;
         sql.add('INSERT INTO Total '+' TeacherName,Teach,Academic,Other,Achievement,Money) ' +
    ' VALUES(:Teacher,:TeachA,:AcademicA,:OtherA,:Achieve,:MoneyA) ');
          parameters[0].values:='Teacher';
          parameters[1].values:='TeachA';
          parameters[2].values:='AcademicA';
          parameters[3].values:='OtherA';
          parameters[4].values:='Achieve';
          parameters[5].values:=12300;
          execsql;
       end;
      

  3.   

    total
    为关键字,
    建议修改表名。
      

  4.   

    total,money,date……别使,我用zs,M!,sj……
      

  5.   

    total
    为关键字,
    建议修改表名。
      

  6.   

    在数据库操作的时候,不要使用完整的英文单词,因为这些单词可能是系统关键字,在Access数据库中会受到限制,但在SQL中,部分关键字不会限制,但是依然建议不使用完整的英文单词。