求助SqlDataReader对象 只能读取一行,无法循环读取!??
UPsje 2009-11-01 11:30:36 public IList<User> GetAllUsers()
{
UserRoleService userRoleService = new UserRoleService();
UserStateService userStateService = new UserStateService();
SqlDataReader dataReader = null;
List<User> list = new List<User>();
try
{
dbHelper.RunProc("Get_AllUsers", out dataReader);
while (dataReader.Read())
{
User user = new User();
user.Id = (int)dataReader["Id"];
user.LoginId = (string)dataReader["LoginId"];
user.LoginPwd = (string)dataReader["LoginPwd"];
user.Name = (string)dataReader["Name"];
user.Address = (string)dataReader["Address"];
user.Phone = (string)dataReader["Phone"];
user.Mail = (string)dataReader["Mail"];
user.UserRole = userRoleService.GetUserRoleById((int)dataReader["UserRoleId"]);
user.UserState = userStateService.GetUserStateById((int)dataReader["UserStateId"]);
list.Add(user);
}
dataReader.Close();
return list;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw ex;
}
}
说明:RunPoc运行存储过程方法。
出现抛出异常,未将对象引用到实例,
把 while(dataReader.Read()) 改成 if(dataReader.Read())即前台正常读出一行数据。为什么只能读出第一行数据?
急啊,求助下,我怎么也找不出为什么来。