一个存储过程,既返回一个查询的数据集,还返回一个参数,ASP.NET 怎么样调用? 有没有代码参考呀?

解决方案 »

  1.   

    http://www.google.com/search?hl=zh-CN&q=asp.net%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&lr=就是一个调用带参数的存储过程吧!
      

  2.   

    返回参数用output,
                 //生成SQL语句
                SqlParameter[] Param = new SqlParameter[3];
                Param[0] = new SqlParameter("@pValueID",SqlDbType.VarChar);
                Param[0].Value = pValueID;
                Param[1] = new SqlParameter("@pFlag",SqlDbType.Int);
                Param[1].Value = pFlag;
                Param[2] = new SqlParameter("@BookID",SqlDbType.Int);
                Param[2].Direction = ParameterDirection.Output;            try //执行
                {
                    IDataReader drbook = SQLHelper.ExecuteDataReader(ApplicationConfiguration.ConnectionString,CommandType.StoredProcedure,"GetBookIDPR",Param);
                    oBookID = (int)Param[2].Value;
                }
      

  3.   

    SQLHelper是用ms的数据访问模块
    网络上有的下载,你自己可以用你的调用模块
      

  4.   

    create procedure dbo.MyProcedure
     @id VARCHAR(20),
     @RETURNVALUE VARCHAR(50) OUTPUT --返回值
    AS
     select * from yourTable where id = @id set @RETURNVALUE = '操作成功!'
    SqlConnection con = new SqlConnection("server=localhost;uid=sa;pwd=sa;database=xx");
    SqlCommand com = new SqlCommand("MyProcedure",con);
    com.CommandType = CommandType.StoredProcedure;
    SqlParameter p = new SqlParameter("@ID","1");
    com.Parameters.Add(p);
    //加上第二个参数
    p = new SqlParameter("@RETURNVALUE",SqlDbType.VarChar,50);
    p.Direction = ParameterDirection.Output;
    com.Parameters.Add(p); SqlDataAdapter sda = new SqlDataAdapter(com);
    DataSet ds = new DataSet();
    //获取数据集
                               con.open();
    sda.Fill(ds);
    //获取返回的参数结果
    string result = p.Value;
     con.close();
      

  5.   

    示例代码如下
    Create Procedure GetTopic
        @CountNum INT OUTPUT
    As
        SET NOCOUNT ON    SELECT TopicID,
               Title,
          FROM Topic    SELECT @CountNum = Count(TopicID)
          FROM Topic    RETURN 0
    Go调用
    SqlParameter parm = new SqlParameter("@CountNum", SqlDbType.Int);
    parm.Direction = ParameterDirection.OutPut;using(SqlDataReader rdr = ...)
    {
        保存数据
    }return parm.Value;
      

  6.   

    楼上的,试过了,还是不行啊!! 根本就取不到值呀!!
    ----不可能取不到值,我这里可以取出来,贴出你的代码看看,如果用DataReader,要关闭之后,才能取到返回值