做用户注册功能,点击注册按钮后,总是报这样的错!!声明一下:userState,userRole分别是User表的外键。可问题总出在这两个外键上!!头痛啊!!!“ 未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:行 192: public static UserState GetDefaultUserState(UserState user)
行 193: {
行 194: return GetDefaultUserStateByUserStateId(user.UserStateId);
行 195: }
行 196:”把代码发出来: 这是UserStateService类的问题代码:
public static UserState GetDefaultUserState(UserState user)
{
//就是在这里报“未将对象引用设置到对象的实例。”的错!
return GetDefaultUserStateByUserStateId(user.UserStateId);
} public static UserState GetDefaultUserStateByUserStateId(int id) {
string sql = "select UserStateId from UserStates where UserStateId=@UserStateId";
try
{
SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@UserStateId",0));
if (reader.Read())
{
UserState userstate = new UserState(); userstate.UserStateId = (int)reader["UserStateId"];
userstate.UserStateName = (string)reader["UserStateName"]; reader.Close(); return userstate;
}
else
{
reader.Close();
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw e;
}
}这是UserStateManager类的关于以上方法的相关代码:
public static UserState GetDefaultUserState(UserState user)
{
return UserStateService.GetDefaultUserState(user);
} public static void GetDefaultUserStateByUserStateId(int id) {
UserStateService.GetDefaultUserStateByUserStateId(id);
}这是UserManager类的关于以上方法的相关代码:
public static User AddUser(User user)
{
//补充方法 .GetDefaultUserState()/.GetDefaultUserRole() 不知对否
if (user.UserState == null)
{
user.UserState =UserStateManager.GetDefaultUserState(user.UserState);
}
if (user.UserRole == null)
{
user.UserRole =UserRoleManager.GetDefaultUserRole(user.UserRole);
}
return UserService.AddUser(user);
}
UserRole的代码与之相同就不重复写了。
请问这到底哪里出错了?? 我该怎么写??
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:行 192: public static UserState GetDefaultUserState(UserState user)
行 193: {
行 194: return GetDefaultUserStateByUserStateId(user.UserStateId);
行 195: }
行 196:”把代码发出来: 这是UserStateService类的问题代码:
public static UserState GetDefaultUserState(UserState user)
{
//就是在这里报“未将对象引用设置到对象的实例。”的错!
return GetDefaultUserStateByUserStateId(user.UserStateId);
} public static UserState GetDefaultUserStateByUserStateId(int id) {
string sql = "select UserStateId from UserStates where UserStateId=@UserStateId";
try
{
SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@UserStateId",0));
if (reader.Read())
{
UserState userstate = new UserState(); userstate.UserStateId = (int)reader["UserStateId"];
userstate.UserStateName = (string)reader["UserStateName"]; reader.Close(); return userstate;
}
else
{
reader.Close();
return null;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw e;
}
}这是UserStateManager类的关于以上方法的相关代码:
public static UserState GetDefaultUserState(UserState user)
{
return UserStateService.GetDefaultUserState(user);
} public static void GetDefaultUserStateByUserStateId(int id) {
UserStateService.GetDefaultUserStateByUserStateId(id);
}这是UserManager类的关于以上方法的相关代码:
public static User AddUser(User user)
{
//补充方法 .GetDefaultUserState()/.GetDefaultUserRole() 不知对否
if (user.UserState == null)
{
user.UserState =UserStateManager.GetDefaultUserState(user.UserState);
}
if (user.UserRole == null)
{
user.UserRole =UserRoleManager.GetDefaultUserRole(user.UserRole);
}
return UserService.AddUser(user);
}
UserRole的代码与之相同就不重复写了。
请问这到底哪里出错了?? 我该怎么写??
解决方案 »
- TCP打洞...CSDN的老鸟们来指点迷津吧
- C#修改注册表实现与文件关联后如何使图标立即生效?
- 谈个信息采集或者正则匹配的问题
- Winform中,使用OpenFileDialog或者SaveFileDialog打开对话框时,TrackBar控件 闪烁问题????
- 如何计算出一段文本中含有多少个"\r\n"
- 谁能我讲讲以上两行代码的具体作用是?
- 使用IList实现了一个Collection的时候发现每次进行list添加时会将原有的list重新添加一次
- 80分想知道,在C#中如何得到sql数据库中所有表格的名称!
- 急救
- 急,急,急......怎么隐藏C#中的控制台窗口啊????
- 这里有从Delphi过来的朋友吧 我想请教一下C#与Delphi的数据库访问方面的问题? 一.C#数据库访问的ADO.net与Delphi的ADo,dbe...
- c#
看这个错误和你的数据库设计没什么关系,是你的程序内部出错,单步调试下吧,估计
return GetDefaultUserStateByUserStateId(user.UserStateId); 这句中的user是空的
这句,0改成id