Adoquery1: commandtext does not return a result set.我是向数据库写数据时出现的这个错,请问是什么意思.
 谢谢.

解决方案 »

  1.   

    把Adoquery1.open改正为Adoquery1.execsql就可以了
    因为插入记录并不返回任何数据库记录,所以不能用OPEN
      

  2.   

    insert语句是不返回结果集的,你直接adoquery1.execsql;就行了。
      

  3.   

    表示commandtext并不返回一个结果集
      

  4.   

    寒~~~又有一个~~~搂主的分真是多呀~~不要用open,用execsql
      

  5.   

    楼主分真多,问一个问题开这么多个贴,
    Select 语句用OPEN,Update/Insert用execsql
      

  6.   

    意思是说没有返回结果集!Select 语句用OPEN,Update/Insert用execsql最好是把你的代码发来看看
      

  7.   

    哎呀,遭了,我只点一下提问结果电脑给我弹出这么多个贴子出来,这下我可亏了。不过没关系,好久没在Delphi问问题了,好久没做delphi了,再次回家感觉还是那么温暖。多谢各位的关照。前些时间我在用PB开发一个管理软件,有时候想到PB版去问一些问题,可人气太差了,半天没人反应,还是Delphi老家好啊。
    对了,中秋到了,小弟祝各位大虾中秋快乐,国庆快乐,工作顺利玩得开心!
      

  8.   

    Select 语句用OPEN,Update/Insert用execsql
    完全正确!
      

  9.   

    需要数据集的用OPEN,不需要的用EXECSQL
      

  10.   

    Select 语句用OPEN,Update/Insert用execsql
    EXAMPLE:
    DM.ADOQ_Base.Active := False;
      DM.ADOQ_Base.SQL.Clear;
      DM.ADOQ_Base.SQL.Add('select FileName from TFile where FileID='''+aFileID+''' order by RobotID desc');
      try
        DM.ADOQ_Base.Active := True ;
        aIndex := DM.ADOQ_Base.RecordCount ;
        while not DM.ADOQ_Base.Eof do begin
          aFileID := DM.ADOQ_Base.FieldByName('FileID').AsString;
          aFileName := DM.ADOQ_Base.FieldByName('FileName').AsString ;
          DM.ADOQ_Base.Next;
        end ;
      except
        DM.ADOQ_Base.Active := False ;
        Result := -1  ;
      end ;
      

  11.   

    Selete语句返回结果集,用Open方法。
    Insert、Update、Delete不返回结果集。用EXECSQL方法。
    :)