我写了一段代码,是这样的 
begin
query1.Close;
 query1.SQL.Clear;
 query1.SQL.Add('insert exp(序号,职工号,所在单位,所在部门) values('''+trim(edit1.text)+''' , '''+trim(edit1.text)+''', '''+trim(edit1.text)+ ''', '''+trim(edit1.text)+''')');
 query1.ExecSQL;
 query1.SQL.Clear;
 query1.sql.Add('select * from exp');
 query1.Active:=true;
end;
结果编译通过,但运行不通过;说我的insert那个语句发生错误,请问应该怎么写才正确?

解决方案 »

  1.   

    query1.SQL.Add('insert exp(序号,职工号,所在单位,所在部门)<--这个括号是全角符呀:)
     values('''+trim(edit1.text)+''' , '''+trim(edit1.text)+''', '''+trim(edit1.text)+ ''', '''+trim(edit1.text)+''')');
      

  2.   

    引号出错,其实在SQL语句中最好不好直接代入值,用参数代入就好.
    begin
     query1.Close;
     query1.SQL.Clear;
     query1.SQL.Add('insert exp(序号,职工号,所在单位,所在部门)');
     query1.SQL.Add('values(:P1,:P2,:P3,:P4)');
     queyr1.Parameters[0].Value:=trim(edit1.text);
    ...
    ...
     query1.execsql
      

  3.   

    楼上的怎么确定 是“引号”出错??!insert exp(序号,职工号,所在单位,所在部门)
    你看看这里有多少全角符号!!!呵呵 :)
      

  4.   

    query1.SQL.Add('insert (序号,职工号,所在单位,所在部门) values('''+trim(edit1.text)+''' , '''+trim(edit1.text)+''', '''+trim(edit1.text)+ ''', '''+trim(edit1.text)+''')');
      

  5.   

    出错提示是着样的:general sql error  [microsoft][odbc sql server driver][sql server]line 1:incorrect syntax near', '.
    请各位大哥帮帮忙了