日期:2014-05-19  浏览次数:20883 次

一个棘手的问题,获得对象时出错。。
在NUNIT工具测试报错如下:
GetUser.UserProviderTests.GetAllUsers   :   System.NullReferenceException   :   未将对象引用设置到对象的实例

ADO.NET与数据库连接代码如下:
    public   UserInfo[]   GetAllUsers(int   pageIndex,   int   pageSize)
              {
                      SqlCommand   cmdObj   =   cnObj.CreateCommand();
                      SqlDataReader   readerObj=null;
                      UserInfo[]   UInfoList   =   new   UserInfo[pageSize];

                      long   index   =   0;

                      cmdObj.CommandText   =   "GetAllUserInfo ";
                      cmdObj.CommandType   =   CommandType.StoredProcedure;

                      cmdObj.Parameters.Add( "@PageIndex ",   SqlDbType.Int).Value   =   pageIndex;
                      cmdObj.Parameters.Add( "@PageSize ",   SqlDbType.Int).Value   =   pageSize;

                      try
                      {
                              cnObj.Open();
                              readerObj   =   cmdObj.ExecuteReader();

                              int[]   cols   =   new   int[]
{
readerObj.GetOrdinal( "Username "),
readerObj.GetOrdinal( "UserPwd "),
};
///调试时,只会读取WHILE大括号内的第一个分号语句,突然就跳出到FINALLY执行
                              while   (readerObj.Read())
                              {
                                      UInfoList[index].UserName   =   readerObj.GetString(cols[0]);
                                      UInfoList[index].UserPwd   =   readerObj.GetString(cols[1]);

                                      index++;
                              }
                      }
                      catch   (SqlException   e)
                      {