当前位置:编程学习 > C#/ASP.NET >>

急!!!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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,