急!!!SqlDat aReader得不到输出参数,请大家指教!
分页存储过程在查询分析器中没问题,能得到输出参数。/// <summary>
/// 分页查询数据
/// </summary>
/// <param name="tableName">表名</param>
/// <param name="orderField">排序字段</param>
/// <param name="keyField">主键</param>
/// <param name="pageSize">每页的数据量</param>
/// <param name="pageIndex">要查询的页数</param>
/// <param name="rowCount">记录总数</param>
/// <param name="isDESC">是否降序排列</param>
/// <param name="condition">要查询的条件</param>
/// <returns></returns>
public static SqlDataReader PaginationQuery(string tableName, string orderField, string keyField, int pageSize, int pageIndex,out int rowCount, bool isDESC, string condition)
{
SqlDataReader reader = null;
//SqlParameter pa = new SqlParameter("@RowCount", SqlDbType.Int);
// pa.Direction = ParameterDirection.Output;
//声明Sql参数
SqlParameter[] param = {new SqlParameter("@TableName",SqlDbType.VarChar,255),
new SqlParameter("@OrderField",SqlDbType.VarChar,255),new SqlParameter("@KeyField",SqlDbType.VarChar,255),
new SqlParameter("@PageSize",SqlDbType.Int),new SqlParameter("@PageIndex",SqlDbType.Int),
new SqlParameter("@RowCount",SqlDbType.Int),new SqlParameter("@OrderType",SqlDbType.Bit),
new SqlParameter("@WhereCon",SqlDbType.VarChar,4000)};
//初始化Sql参数
param[0].Value = tableName;
param[1].Value = orderField;
param[2].Value = keyField;
param[3].Value = pageSize;
param[4].Value = pageIndex;
param[5].Direction = ParameterDirection.Output;
// pa.Direction = ParameterDirection.Output;
if (isDESC)
param[6].Value = 0;
else
param[6].Value = 1;
param[7].Value = condition;
reader = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "SelectRecordsPaged", param);
while (reader.Read())
{
}
reader.Close();
rowCount = Convert.ToInt32(param[5].Value); //这报错
return reader;
} --------------------编程问答-------------------- ding --------------------编程问答-------------------- 把异常信息贴出来啊..
不贴大家怎么知道是什么问题
--------------------编程问答-------------------- 这个还用看问题? 自己想就知道了! 肯定是未将对象引用到对象实例!
这个问题我也遇到过! 但是也没有解决! 关注中!!!...
高手来给顶一下呗??? --------------------编程问答--------------------
刚才红色部分忘了ToString();
rowCount = Convert.ToInt32(param[5].Value.ToString()); //这报错]
param[5].Value 是null
System.NullReferenceException: 未将对象引用设置到对象的实例。 --------------------编程问答-------------------- ddddd
补充:.NET技术 , ASP.NET