用ADOQuery的SQL属性 来 insert (或者 Update) 一个Access 文件 的一笔记录时, 在dephi 中报错 "目前提供者不支援从单一执行作业得回多重资料录集), 然后程序 报错"ADOQuery1:CommandText doesnot return a result set", 请问是怎么回事,该如何解决?

解决方案 »

  1.   

    估计你执行了Insert或者是Update时使用了ADOQuery.Open;
    你要使用ADOQuery.ExecSQL;才对的!
      

  2.   

    yimoo(宝剑锋自磨砺出 梅花香自苦寒来)  9fashion() ( ) :你们说得对,我也发现是这个问题, 代码如下:
     
     with dmMailorder.adoqDepartment do
         begin
           dmMailorder.adoqDepartment.Close  ;
           SQL.Clear ;
           sql.Add(sSQL)  ;
          // dmMailorder.adoqDepartment.Open ;  该句有问题.
           ExecSQL ;
           end;我是刚开始学Delphi的,这个错误也是通过debug才发现出来, 所以请教一下, 为什么这是一个错误, delphi为什么要在这里报错
      

  3.   

    open一般只用于查询,对于插入、修改要用ExecSQL,这是语法!
      

  4.   

    open后要返回结果,但是Insert和delete都不会返回。
    ADOQuery1:CommandText doesnot return a result set
    的意思就是说你的CommandText不能返回结果数据集。
    而ExecSQL不要求返回结果。