ADO连接ACCESS数据库
procedure TForm1.Button1Click(Sender: TObject);
var
  ssp,suser,sdet,sres,s,tim:string;
begin
  ssp:='a';         //测试用的数据
  suser:='b';
  sdet:='c';
  sres:='d';
  tim:=datetostr(now);
  with ADOQuery1 do
    begin
      Close;
      sql.Clear;
      sql.Add('Insert into dst_xx(sp,user,detail,reserve,rq) Values('
               +''''+Ssp+''','''+Suser+''','''+Sdet+''','''+Sres+''','''+tim+''')');
            try
              showmessage(sql.Text);
              ExecSQL;
            except
              Application.MessageBox('不能写入非常规信息!','信息提示',MB_ICONSTOP);
              Exit;
            end;
    end;
end;
就是提示INSERT INTO 语法错误

解决方案 »

  1.   

    幫你頂,在 insert前 加空格試試
      

  2.   

    好像没问题,不过这样写不容易看出错,改成下面的试一下:
    sql.Add(' insert into dst_xx (sp,user,detail,reserve,rq) ');
    sql.Add(' values(:a1,:a2,……)');
    Parameters.ParamByName('a1').Value:=ssp;
    …………
    execsql;
      

  3.   

    使用的格式有问题
     sql.Add('Insert into dst_xx(sp,user,detail,reserve,rq) Values('
                   +'"'+Ssp+'","'+Suser+'","'+Sdet+'","'+Sres+'","'+tim+'")');
      

  4.   

    windowboy(雪鹰)
    大哥你的写法和我有什么不同啊
      

  5.   

    我说一下,我用的OFFICE2003,是不是DELPHI6对2003支持有问题啊
      

  6.   

    把showmessage里的sql.Text放在access里跑一下也许会发出问题.
      

  7.   

    写了那么的单引号,看着不闹心呀。
    用一个函数呀。QuotedStr('123')==>得到 '123'写成这样:
    ....
    sql.Add('Insert into dst_xx(sp,user,detail,reserve,rq) Values('+
    QuotedStr(Ssp)+','+QuotedStr(Suser)+','+QuotedStr(Sdet)+','+
    QuotedStr(Sres)+','+QuotedStr(tim)+')'
    ....
      

  8.   

    那里有用ADO控制ACCESS数据库的详细文章告诉小弟,我去瞧瞧
      

  9.   

    insert语句用adoconnection来执行,不明白给我发消息
      

  10.   

    问题原来出来字段名上,ACCESS不能用USER做为字段名,我该成UserMe就可以了,谢谢大家。
      

  11.   

    其中user为系统关键字,使用类似的字符时应用[]括起来如:sp,[user],detail,..
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sql.Add('Insert into dst_xx(sp,[user],detail,reserve,rq) Values('
                   +''''+Ssp+''','''+Suser+''','''+Sdet+''','''+Sres+''','''+tim+''')');
      

  12.   

    保留字是DELPHI的,还是ACCESS的啊