如果不进行
ADOStoredProc1.Active := true;
好像不能获取,可是如果上面语句执行了,则出现该存储过程对应的输入参数未赋值的错误。

解决方案 »

  1.   

    adoQuery.SQL.Add('exec sp_sproc_columns 存储过程名');
    adoQuery.open;
      

  2.   

    StoredProc:=TADOStoredProc.Create(nil);
       try
          StoredProc.Connection := Conn;
          StoredProc.ProcedureName := '存储过程名';
          StoredProc.Parameters.CreateParameter('@RETURN_VALUE', ftInteger, pdReturnValue, 0,0); 
          StoredProc.Parameters.CreateParameter('vID', ftString, pdInput, 30, '11');
          StoredProc.Prepared := True;
          StoredProc.ExecProc;
          if(StoredProc.Parameters[0].Value=0) then
            ShowMessage('ok')
          else
            ShowMessage(StoredProc.Parameters[0].Value);
          finally
            StoredProc.Free;
       end;
      

  3.   

    before StoredProc.Parameters.CreateParameter
    please remember to do StoredProc.Parameters.Clear;