SqlParameter[] p =
{
SqlHelper.MakeParam("@Total",SqlDbType.Int,4,ParameterDirection.Output,null),
SqlHelper.MakeInParam("@PageNumber",PageNumber),
SqlHelper.MakeInParam("@PageSize",PageSize)
};
IDataReader dr = SqlHelper.ExecuteReader(ConnectionString, "spName", p);
Total = (int)p[0].Value;
return dr;这样写来提示:(int)p[0].Value 这里错误,如果用:ExecuteDataset 就可以.但我想用ExecuteReader,请问怎么写才可以取得这值呢?在M$里只看到这一句: 如果您使用参数数组来返回输出值,请记住您必须在关闭 SqlDataReader 对象后提取这些值(使用 SqlParameter 值 属性)。
dr.Close();
Total = (int)p[0].Value;上面说的明白呢或者从你的SELECT里返回这个数据,这里你只要看DataReader就可以了