执行存储过程时出现了问题,不知如何解决,错误提示如下:"adoquery2: commandtext does not return a result set "
请高手指点一二,如何解决这个问题,谢谢

解决方案 »

  1.   

    没有用select 语句而用了adoquery2.open吧?如果没有用select就用ADOQuery1.ExecSQL
      

  2.   

    我说的具体点好了procedure TForm1.Button1Click(Sender: TObject);
    var
    sqlstr,sql:string;
    i:integer;
    begin
      sqlstr:='select telnum from feemanger group by telnum  having count(lostdate)>3 and cast(sum(lostfee)as int(8))>3000';
     // datediff(month,cast(cast(lostdate as varchar(8))+''01'' as datetime),getdate())
      adoquery1.close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add(sqlstr);
      adoquery1.open;
       for i:=1 to adoquery1.RecordCount-1 do
       begin
         sql:= 'exec  adduser '''+ adoquery1.FieldByName('telnum').AsString+'''';
         adoquery2.close;
         adoquery2.SQL .Clear ;
         adoquery2.sql.Add(sql);
         adoquery2.ExecSQL ;
         adoquery2.Open ;
         adoquery2.Next ;
       end;
    end;
    //存储过程定义如下;
    {procedure adduser
    @tel varchar(30)
    as
    insert into sysforbiduser(telnum) values (@tel)}//出现的错误提示如下;commandtext does not return a result set
      

  3.   

    for i:=1 to adoquery1.RecordCount-1 do
       begin
         sql:= 'exec  adduser '''+ adoquery1.FieldByName('telnum').AsString+'''';
         adoquery2.close;
         adoquery2.SQL .Clear ;
         adoquery2.sql.Add(sql);
         adoquery2.ExecSQL ;
         adoquery2.Open ;   ////这是要作什么的。
         adoquery2.Next ;
       end;
      

  4.   

    adoquery2.ExecSQL ;
         adoquery2.Open ;
    这里有错