请看以下段代码:
with datamodule1.EmplyWorkExp_ADD do
begin
     close;                                 
     sql.text:='Insert into EmplyWorkExp'+
                (Title,BeginDate,Dept,EndDate,WorkCorp,rank,Memo,EmplyID,WorkExpID) '+
                'values'+
           '(:Title,:BeginDate,:Dept,:EndDate,:WorkCorp,:rank,:Memo,:EmplyID,:WorkExpID)';
            Parameters[0].Value:=Title.text;
            Parameters[1].Value:=BeginDate.text;
            Parameters[2].Value:=Dept.text;
            Parameters[3].Value:=EndDate.text;
            Parameters[4].Value:=WorkCorp.text;
            Parameters[5].Value:=Rank.text;
            Parameters[6].Value:=Memo.text;
            Parameters[7].Value:=ygid;
             Parameters[8].Value:=ID;
    ExecSQL;
end;
请教为什么总是报错:“INSERT INTO语句语法错误”

解决方案 »

  1.   

    用下面的试一试:
    with datamodule1.EmplyWorkExp_ADD do
    begin
         close;                                 
         sql.text:='Insert into EmplyWorkExp'+
                    (Title,BeginDate,Dept,EndDate,WorkCorp,rank,Memo,EmplyID,WorkExpID) '+
                    'values'+
               '(:Title,:BeginDate,:Dept,:EndDate,:WorkCorp,:rank,:Memo,:EmplyID,:WorkExpID)';
                Parameters[0].Value:=Title.text;
                Parameters[1].Value:='#'+BeginDate.text+'#';
                Parameters[2].Value:=Dept.text;
                Parameters[3].Value:='#'+EndDate.text+'#';
                Parameters[4].Value:=WorkCorp.text;
                Parameters[5].Value:=Rank.text;
                Parameters[6].Value:=Memo.text;
                Parameters[7].Value:=ygid;
                 Parameters[8].Value:=ID;
        ExecSQL;
    end;
      

  2.   

    再用下面的试一试:
    with datamodule1.EmplyWorkExp_ADD do
    begin
         close;                                 
         sql.text:='Insert into EmplyWorkExp'+
                    (Title,BeginDate,Dept,EndDate,WorkCorp,rank,Memo,EmplyID,WorkExpID) '+
                    'values'+
               '(:Title,:BeginDate,:Dept,:EndDate,:WorkCorp,:rank,:Memo,:EmplyID,:WorkExpID)';
                Parameters[0].Value:=''''+Title.text+'''';
                Parameters[1].Value:=''''+BeginDate.text+'''';
                Parameters[2].Value:=''''+Dept.text+'''';
                Parameters[3].Value:=''''+EndDate.text+'''';
                Parameters[4].Value:=''''+WorkCorp.text+'''';
                Parameters[5].Value:=''''+Rank.text+'''';
                Parameters[6].Value:=''''+Memo.text+'''';
                Parameters[7].Value:=''''+ygid+'''';
                 Parameters[8].Value:=ID;
        ExecSQL;
    end;-------------------上面改的也可能不对,但你要让文本型的前后将'号.