http://hi.baidu.com/oathevil/blog/item/f9743e16acb6f900c83d6de2.html
提供的代码本人经过测试是可以运行,但是如果存储过程带有多个OUTPUT 类型参数不知道怎么样在C#调用中获得这些参数值,以及存储过程的返回值本人也不知道怎么获得。有谁能帮我提供一个完整代码。

解决方案 »

  1.   

    using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ToString()))
    {
    conn.Open();
    SqlCommand MyCommand = new SqlCommand("MYSQL", conn);
    MyCommand.CommandType = CommandType.StoredProcedure;
    MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
    MyCommand.Parameters["@a"].Value = 20;
    MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
    MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;
    MyCommand.ExecuteNonQuery();
    Response.Write(MyCommand.Parameters["@b"].Value.ToString());
    }
      

  2.   

    我要求在存储过程通用“调用类”中实现。 比如 http://hi.baidu.com/oathevil/blog/item/f9743e16acb6f900c83d6de2.html提供的代码 基础上能 修改一下使他能获得 存储过程的 OUTPUT 参数值,或者提供一下其他可以运行代码也行。
      

  3.   

    1楼很全了,要是多个Out参数,就多添加
    MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
    MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;
      

  4.   

    借问一下:
    MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));
    MyCommand.Parameters["@b"].Direction = ParameterDirection.Output;
    能合写为下面这种形式吗?MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int)).Direction = ParameterDirection.Output;