问题描述
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;publicpartialclass_Default:System.Web.UI.Page{protectedvoidbtnLogin_Click(objectsender,EventArgse){//接收用户输入的参数stringuserName=txtUserName.Text.Trim();//登录名stringuserPwd=txtPwd.Text.Trim();//密码stringuserRole=rbtnlUserRole.SelectedValue.Trim();//身份stringselectStr="";switch(userRole){case"0":selectStr="select*from普通用户where学号='"+userName+"'";break;case"1":selectStr="select*from管理员whereAdminID='"+userName+"'";break;}SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=DMC-PC;database=submitsys;uid=sa;pwd=713808dmc";SqlCommandcmd=newSqlCommand(selectStr,conn);conn.Open();SqlDataReadersdr=cmd.ExecuteReader();//执行查询if(sdr.Read()){if(sdr.GetString(1)==userPwd)//密码正确{Session["userName"]=userName;Session["userRole"]=userRole;conn.Close();switch(userRole){case"0"://身份为普通用户时Response.Redirect("Home.aspx");break;case"1"://身份为管理员时Response.Redirect("Administrator_Page.aspx");break;}}else{lblMsg.Text="您输入的密码有错误,请检查后重新输入!";}}elselblMsg.Text="该用户不存在或用户名输入有错误,请检查后重新输入!";conn.Close();}protectedvoidbtnRegister_Click(objectsender,EventArgse){Response.Redirect("Register.aspx");}}
解决方案
解决方案二:
SqlCommandcmd=newSqlCommand(selectStr,conn);conn.Open();换下顺序conn.Open();SqlCommandcmd=newSqlCommand(selectStr,conn);
解决方案三:
跟一下你的sql语句,可能是空了..
解决方案四:
感觉selectStr这个没赋值
解决方案五:
目测selectStr是空,单步调试看下
解决方案六:
你的UserRole没取到值,非0也非1,导致swtch语句没执行而selectStr为空。看下你那个下拉菜单值