一个棘手的问题,获得对象时出错。。
在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)
{