Access数据库,通过AdoQuery访问,数据引擎Microsoft.Jet.OLEDB.4.0。每次执行SQL语句执行完第一句,就出错,提示"对象或提供者不能执行所需操作",并显示"AdoQuery:commandText does not return a result set",不过第一句已经执行。
why?是不是数据引擎问题?

解决方案 »

  1.   

    access的SQL语句和标准SQL语句有部分差别,不可等同对待
      

  2.   

    你的SQL语句怎么写的?try
      Open;
    except
      ExecSQL;
    end;
      

  3.   

    把SQL语句贴出来,正确的QUERY写法如下
    Query1.Close;       
    Query1.Sql.Clear;//要先清除上次的SQL语句
    Query1.Sql.Add('UpDate DbName set S_DATE=getdate());
    Query1.Prepare; //准备   
    Query1.ExecSQL;//执行SQL
      

  4.   

    adoquery.close;
    adoQuery.SQL.Clear;
    adoQuery.SQL.Add('insert into station');
    adoquery.SQL.Add('values(:station,:stationrule)');
    adoquery.Parameters[0].Value := stationtext[i];
    adoquery.Parameters[1].Value := stationruletext[i];
    adoQuery.Open;
      

  5.   

    用AdoQuery执行 select语句是用
       AdoQuery.Open;
    如果是执行增加(insert)、修改(update)、删除(delete)等应该用:
       AdoQuery.ExecSql
      

  6.   

    显示"AdoQuery:commandText does not return a result set"
    可能是执行insert或update或delete时用AdoQuery1.Open来执行的。Open是要求返回结果的,只实用select.