VS2005中未将对象引用设置到对象的实例的问题

protectedvoidSureBtn_Click(objectsender,System.EventArgse){UserDBuser=newUserDB();Str... protected void SureBtn_Click(object sender, System.EventArgs e)
{
UserDB user = new UserDB();
String userId = "";
String roleId = "";

SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),UserDB.Encrypt(Password.Text.Trim()));

if(recu.Read())
{

userId = recu["UserID"].ToString().Trim();
roleId = recu["RoleID"].ToString().Trim();
}
recu.Close();

if((userId != null)&&(userId != ""))
{
SqlDataReader recur = user.GetSingleUser(Int32.Parse(userId));
if(recur.Read())
{

if(RoleList.SelectedIndex <= 0 && roleId == "1")
{
Session["RoleID"] = roleId;
Session["UserID"] = userId;
Session["UserName"] = UserName.Text;
Response.Redirect("CreateExaminePaper.aspx");
}
if(roleId == "3" && RoleList.SelectedIndex > 0)
{
Session["UserID"] =userId;
Session["UserName"] = UserName.Text.Trim();
Response.Redirect("Admins/UserManage.aspx");

}
if(roleId == "2")
{
Response.Redirect("Admins/QuestionManage.aspx");
}
else
{
Response.Write("<script>alert(\"角色和用户名不相匹配.请你选择正确的角色!!!\")</script>");
}

}

}

else
{
Password.Text = "";
RoleList.SelectedIndex = -1;
Response.Write("<script>alert(\"你的用户名或密码输入有误,请重新输入!\")</script>");
}

}

在执行上述代码时,if(recur.Read())处出现问题,未将对象引用设置到对象的实例,排错提示是使用“new关键字”创建实例对象;在调用方法前通过检查确定对象是否为空。 我是一菜鸟,请把如何修改的步骤写详细点,谢谢!
展开
 我来答
红枫叶4107
2011-11-28 · 超过24用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:60.4万
展开全部
为什么你的程序里都没有捕捉异常的处理呢?无论是字符串的转换还是去除空格,当字符串为空的时候寄会报你上面所说的错。还有你Int32.Parse(userId)的时候如果字符串不符合数字格式也会出现异常,不过不是空异常而已。还有,SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),UserDB.Encrypt(Password.Text.Trim()));这句代码有问题,没有实例化对象你怎么可能调用它的方法呢?!改成用实例化了的类来调用吧~
匆匆一眼,只是看出这点问题而已,希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ts毛毛雨
2011-11-28 · TA获得超过157个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:100万
展开全部
UserDB.Encrypt(Password.Text.Trim()));这句话中UserDB改成user,你已经用user代替了,就不要用UserDB了,你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neu_bao
2011-11-28 · TA获得超过356个赞
知道小有建树答主
回答量:584
采纳率:0%
帮助的人:465万
展开全部
user.GetSingleUser(Int32.Parse(userId));返回null了,
你看看GetSingleUser返回什么
追问
请问要怎么改呀,能详细点么?
追答
GetSingleUser 的代码发出来看看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式