实际上原来的语句是这样的:
         Temp:=format('insert into %s values(%d,%s,%s,%s)',[trim(id),gqid,edit5.text,edit2.text,edit4.text]);
         query1.close;
         query1.sql.clear;
         query1.sql.add(temp);
         query1.ExecSQL;

解决方案 »

  1.   

    Temp:=format('insert into 17 values(%d,''%s'',''%s'',''%s'')',[66,'fff','kkk','lll']);
      

  2.   

    to  zsr(老牛) 
    谢谢牛哥,刚才我按你的方法试了,原来的错误没了,但是现在又有一个新的错误,提示说一般性SQL错误,INSERT INTO 有语法错误!
      

  3.   

    我现在的程序是:
             Temp:=format('insert into %s values(%d,''%s'',''%s'',''%s'')',[trim(id),gqid,edit5.text,edit2.text,edit4.text]);
             query1.close;
             query1.sql.clear;
             query1.sql.add(temp);
             query1.ExecSQL;
    提示说一般性SQL错误,INSERT INTO 有语法错误!
    请高手关注!!!兄弟在线等待
      

  4.   

    --你把字段名也列出来看看INSERT INTO 表名 (字段1, 字段2, 字段3)
    VALUES('值1', '值2', '值3')
      

  5.   

    用Format函数不行,用
    Temp:='insert into 17 values('+66+',"'+fff+'","'+kkk+'","'+lll+'")';
    注意字段的类型,如果是字符要加"号.
      

  6.   

    Delphi里面没有双引号,要用''代替。
      

  7.   

    正确语法之一:
    INSERT INTO table[(field [,field] ...)] VALUES(expr[,expr] ...)比如:
    Temp:=format('insert into %s(field1, field2, field3, field4) values(%d,''%s'',''%s'',''%s'')',[trim(id),gqid,edit5.text,edit2.text,edit4.text]);
    如果省略字段名, 所给定的值的数量应该等于该表的字段数.
      

  8.   

    还有个小问题,我在删除一条记录时,提示:
    can't modify a read-only dataset
    是怎么回事呀?
      

  9.   

    还有个小问题,在删除一条记录时,提示
    can't modify a read-only dataset
    这是怎么回事呢?