我用下列语句时出错。 ADOQUERY不能EXEC? aq.SQL.Clear;
  aq.SQL.Add(''insert into OM_UserLog Userid=''1''');
  aq.ExecSQL;出错。
Cannot perform this operation on a closed dataset;不明白哪里搞错了啊。

解决方案 »

  1.   

    aq.SQL.Clear;
      aq.SQL.Add('insert into OM_UserLog Userid=''1''');
      aq.ExecSQL;多打了一个引号
      

  2.   

    不是这儿的错,你执行之前检查一下你的数据库连接,这个错误是连接组件没有和数据库连接 adoconnection1.connection:=true;
      

  3.   

    不对啊。 已连接上的啦。 这段程序之前也有个SELECT的。 也是用这个AQ。 没问题的。 但在这里INSERT就出错了。 也不知道为什么啊。
      

  4.   

    “can't perform this operation on closed dateset”的问题不存在于你上面的代码中,之所以出现这个错误,是因为你执行了一些在数据集未激活的状态下不能执行的操作,例如Nextwith AdoQuery1 do
    begin
       Close;//你加上这句看看
       //Sql.Text 
       ExecSql;
    end;
      

  5.   

    我晕。 我郁闷死了。 我把INSERT语句插在select语句中间了。后面还有段SELECT的操作。 报错的不是这段,是后面的。 晕死了。 谢谢各位啊。
      

  6.   

    这语句看起来真的有问题耶
    aq.SQL.Add(''insert into OM_UserLog Userid=''1''');
    不是这里错了吗?
      

  7.   

    adoconnection1.connection:=true;
    我认为是设置的问题
      

  8.   

    这句话是有错! 不过你的错误提示肯定不是在这里
    .                         \\\|///
                            \\  - -  //
                             (  @ @  )
    +---------------------oOOoo-(?)ooOOo---------------------+
    |                                                        |
    |          欢迎访问 http://www.coderpub.com 技术论坛     |
    |          delphi,asp.net,C#,j2me,软件工程,企业管理      |
    |                 http://www.coderpub.com                |
    |                                                        |
    |                               Ooooo                    |
    +-----------------------ooooO--(   )---------------------+
                            (   )   )|/
                             \|(   (_/
                              \_)
      

  9.   

    aq.close;//添加这句如何??
    aq.SQL.Clear;
      aq.SQL.Add(''insert into OM_UserLog Userid=''1''');
      aq.ExecSQL;
      

  10.   

    OM_UserLog 是不是没有打开啊??