你在QUERY里加进去,执行没有直接运行。当然会这样了。或在SQL SERVER里如果在程序里应该
with query1 do
begin
     close;
     sql.clear;
     sql.add('insert into sr00 (机构代码,单位名称,计划) values('1','2','3')');
     execsql; 
end;

解决方案 »

  1.   

    用 query.execsql 而非query.open
      

  2.   

    to cszhz(丑小鸭):
    没有代码,我只是建了一个sr00.db(含机构代码,单位名称,计划),然后在Form上放了一个SQL,修改它的string为  insert into sr00 (机构代码,单位名称,计划) values('1','2','3')  但激活时报错!
      

  3.   

    激活时,是ACTIVE:=TRUE;是错的。相当与QUERY。OPEN;了在程序中,像我前面说的
      

  4.   

    to suny_2001(小鱼儿) :
    你的
    with query1 do
    begin
        close;
        sql.clear;
        sql.add('insert into sr00 (机构代码,单位名称,计划) values('1','2','3')');
        execsql; 
    end; 中的
        sql.add('insert into sr00 (机构代码,单位名称,计划) values('1','2','3')');
        
    报错!
      

  5.   

    你用的是ADO吧
    可能是你修改了Query控件的CursorType或LockType的属性了吧
    如果是就
    CursorType:ctStatic
    LockType:ItOptimistic
    否则
      I do NOT know了
      

  6.   

    换成这个
    sql.add('insert into sr00 (机构代码,单位名称,计划) values("1","2","3")');我已经告诉你哪里错了,这个错误应该自己解决。