做用户注册功能,点击注册按钮后,总是报这样的错!!声明一下: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的代码与之相同就不重复写了。
请问这到底哪里出错了?? 我该怎么写??
解决方案 »
- 怎么判断某目录下的可执行文件是否在运行?
- Oledb读取excel的奇怪问题
- 鼠标单击窗体空白区域后触发事件的代码怎么写?
- c# winform 取整个电脑所有磁盘文件,如图
- 读取excel数据并写入数据库的问题
- ▲▲▲事件名称跟方法存在数据库中,我采用循环取出来,如何才能在程序中执行呀?▲▲▲
- 请问各位那位能找到 Codesmith 类似 Duwamish7 架构的模板? 拿出来共享啊~~~
- 怎么在客户端控制后台生成控件的visible属性?比较急,各位帮忙看看,出出主意~~
- PDF能转SWF吗?回者有分,提供有效信息的虾米,另外奖200分
- DotNetBar的别针怎么设置成不处在别住的状态?
- 这里有从Delphi过来的朋友吧 我想请教一下C#与Delphi的数据库访问方面的问题? 一.C#数据库访问的ADO.net与Delphi的ADo,dbe...
- c#
看这个错误和你的数据库设计没什么关系,是你的程序内部出错,单步调试下吧,估计
return GetDefaultUserStateByUserStateId(user.UserStateId); 这句中的user是空的
这句,0改成id