在调用存储过程输出参数时输出参数的值老是为null

接上一篇的分页查询,我在前台调用时出现的问题:

public SqlDataReader up_PageRowNumber( int pageIndex, int pageSize, ref int r)
{

SqlParameter[] parameters = new SqlParameter[]{
new SqlParameter("@SQL",SqlDbType.NVarChar,2000),
new SqlParameter("@Order",SqlDbType.NVarChar,40),
new SqlParameter("@PageIndex",SqlDbType.Int),
new SqlParameter("@PageSize",SqlDbType.Int),
new SqlParameter("@TotalRecorder",SqlDbType.Int)
};
parameters[0].Value = "select * from jc_Article";
parameters[1].Value = "Id";
parameters[2].Value = pageIndex;
parameters[3].Value = pageSize;
parameters[4].Direction = ParameterDirection.Output;
r = int.Parse(parameters[4].Value.ToString()); //在运行到这里时,就报错:

未将对象引用设置到对象的实例。

SqlDataReader Reader = DbHelperSQL.RunProcedure("up_DataPageRowNumber", parameters);
return Reader;
}

而且parameters[4].Value的值为什么老是为null,但在数据库中操作时是有数据输出的,请高手指点

posted @ 2013-05-02 13:11  编程小二  阅读(679)  评论(3编辑  收藏  举报