应该是
sql.add('insert into department(deptname)values('''+edit1.text+''')');

解决方案 »

  1.   

    'values='  -> 'values('+edit1.text+')'
    建议:qSTR:=''(SQL语句);
          SQL.ADD(qSTR);
    调试的时候,可以先SHOWMESSAGE(qSTR).就可以看看你的
    SQL语句对不对了!
      

  2.   

    String str = edit1.text;
    sql.add('insert into department(deptname)values(' + #39 + str + #39 + ')');
      

  3.   

    a6mm(a6mm)以上方法你试过吗?
    哪种方法能够解决?
      

  4.   

    sql.add('insert into department(deptname)values('''+Trim(edit1.text)+''')');简洁明了!
      

  5.   

    sql.add('insert into department(deptname) values ('''+edit1.text + '''');
    不好的书写风格也有可能会导致程序的错误
      

  6.   

    我刚刚试了一下。但是还出现错误。我是这么写的if qryadddept.IsEmpty then
        begin
           showmessage('可以新增了!');
           with qryadddept do begin
           close;
           sql.clear;
           sql.add('insert into department(deptname) values ('''+edit1.text + '''');
           ExecSQL;
           end;
        end
        else
        showmessage('该部门已经存在了!');
    end然后还是出现同样的错误:
    project MISair.exe raised exception class EDBEngineError with
    message 'Invalid use of keyword
    Token:='edit1'
    Line1 Number: '1' . Process stopped. Use step or Run to continue.
    并且程序中的指针直接跳转到:
    ExecSQL;  这条语句上~~