当前位置: 代码迷 >> Sql Server >> 存储过程回来参数报 "未将对象引用设置到对象的实例"
  详细解决方案

存储过程回来参数报 "未将对象引用设置到对象的实例"

热度:86   发布时间:2016-04-27 11:54:16.0
存储过程返回参数报 "未将对象引用设置到对象的实例"
C# code
public List<LinkModel> GetList(string tblName, string FieldKey, int PageCurrent, int PageSize, string FieldShow, string FieldOrder, string where, out int pageCount)        {            List<LinkModel> linkList = new List<LinkModel>();            SqlDataReader dr = default(SqlDataReader);            SqlParameter[] parameters = {                    new SqlParameter("@tbname", SqlDbType.VarChar, 255),                    new SqlParameter("@FieldKey", SqlDbType.NVarChar,1000),                    new SqlParameter("@PageCurrent", SqlDbType.Int),                    new SqlParameter("@PageSize", SqlDbType.Int),                    new SqlParameter("@FieldShow", SqlDbType.NVarChar,1000),                    new SqlParameter("@FieldOrder", SqlDbType.NVarChar,1000),                    new SqlParameter("@Where", SqlDbType.VarChar,1000),                    new SqlParameter("@RowCount", SqlDbType.Int)                    };            parameters[0].Value = tblName;            parameters[1].Value = FieldKey;            parameters[2].Value = PageCurrent;            parameters[3].Value = PageSize;            parameters[4].Value = FieldShow;            parameters[5].Value = FieldOrder;            parameters[6].Value = where;            parameters[7].Direction = ParameterDirection.Output;            try            {                dr = SqlHelper.ExecuteReader(DbHelperSQL.connectionString, CommandType.StoredProcedure, "sp_PageGetComm_Row", parameters);                while (dr.Read())                {                    linkList.Add(SqlDataReaderTOObject(dr));                }                dr.Close();//关闭读取后才能获取返回信息              [color=#008000]  pageCount = Convert.ToInt32(parameters[7].Value.ToString());[/color]            }            finally            {                if (dr != null && !dr.IsClosed)                    dr.Close();            }            return linkList;        }


存储过程都有返回参数 在数据库执行也能得到返回参数 标出来的那个地方报 未将对象引用设置到对象的实例


------解决方案--------------------
连的时候写了打开数据库?

dr.open
------解决方案--------------------
程序错误。木有初始化?
------解决方案--------------------
[email protected],檢測下你的存儲過程
------解决方案--------------------
按照我公司的同样情况,是因为存储过程返回null,而程序没有判断对null值的处理,直接“以为”一定会返回一个数据集,所以报错,你跟踪一下是否有这种情况。
  相关解决方案