param.Add(new SqlParameter("@Count", SqlDbType.Int) { Direction = ParameterDirection.Output });
using(var dataset = MsSqlHelper.ExecuteDataset(SqlConn.Conn, CommandType.StoredProcedure, "GetList", param.ToArray()))
{
// Count.Value is not NULL
}
using (SqlDataReader dr = MsSqlHelper.ExecuteReader(SqlConn.Conn, CommandType.StoredProcedure, "GetList", param.ToArray()))
{
// Count.Value is NULL
}
我的存储过程中有一个输出值。
如果我使用ExecuteReader
,则param Count
的值为null。但是,如果我将方法ExecuteReader
更改为ExecuteDataset
,那么我可以获得Count
的值。
为什么使用ExecuteReader时没有值?
顺便说一下,除ExecuteDataset
/ ExecuteReader
之外,我的示例中没有任何变化。