我有两个同样的数据库一个是ACCESS的,一个是SQL的在添加数据出现了一点问题,请各位帮忙.
结构为:员工编号/数值型,员工姓名/字符,部门/字符.在DELPHI中用ACCESS数据库添加时:
 with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('insert S values (:a ,:b , :c,''001'')');
    ParamByName('a').ASINTEGER := STRTOINT(Trim(Edit1.Text));
    ParamByName('b').AsString := Trim(Edit2.Text);
    ParamByName('c').ASSTRING := Trim(Edit3.Text);
    ExecSQL;
提示有错:在什么ODBC的什么第一行VALUES附近有错误.
但在SQL中也是按上面的语句写的,就没有问题,望指教.

解决方案 »

  1.   

    SQL.Add('insert S values (:a ,:b , :c,''001'')');
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    SQL.Add('insert INTO S values (:a ,:b , :c,''001'')');
                   ~~~~~~
      

  2.   

    加上列名看看
    如:
    SQL.Add('insert S(field1,field2,field3,field4) values (:a ,:b , :c,''001'')');
      

  3.   

    是的,在ACCESS 中我也遇到过这种情况,你最好换成ADOQuery,
    不要用哪么多参数,直接用了。
      

  4.   

    结构为:员工编号/数值型,员工姓名/字符,部门/字符.   ////这里共三个字段
    语句也应是三个字段:
    SQL.Add('insert INTO S values (:a ,:b , :c,); ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    :a ,:b , :c,''001'' ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄