SqlConnection con = new SqlConnection("server=.;database=StoreHouse;uid=sa;pwd=1");
        con.Open();
        SqlCommand objCmd = new SqlCommand("pr",con);
        objCmd.CommandType = CommandType.StoredProcedure;
        objCmd.Parameters.Clear();
            objCmd.Parameters.Add("@Name", SqlDbType.VarChar, 80).Value ="fff";
        objCmd.Parameters.Add("@Recount", SqlDbType.Int).Direction = ParameterDirection.Output;        SqlDataReader dr = objCmd.ExecuteReader();
        while (dr.Read())
        {
            Response.Write(dr[0].ToString());
        }
==============================================
create PROCEDURE [dbo].[pr]
@Name varchar(50),
    @Recount int output
AS
BEGIN
select * from a where [Name]=@Name
    select @Recount=count(*) from a where [Name]=@Name
END
为什么dr.Read()一直为false  有答案就结贴

解决方案 »

  1.   

    IDataParameter[] parameters = {
                    new SqlParameter("@Name", SqlDbType.NVarChar,80),
                    new SqlParameter("@Recount", SqlDbType.Int,4) 
                };
    parameters[0].Value = "";     
    parameters[1].Direction = ParameterDirection.Output;      
    cmd.Parameters.Add(parameters[0]);
    cmd.Parameters.Add(parameters[1]);
    SqlDataAdapter dp = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    dp.Fill(ds);
    Label1.Text +=  parameters[0].Value.ToString()
    select @Recount=count(*) from a where [Name]=@Name
    select * from a where [Name]=@Name