一个很简单的分角色登陆,先建立了一个Project数据库然后一个user_table表,
user_id user_password userlevel
123 123 ymanager varchar
1234 1234 supermaster varchar
12345 12345 teacher varchar
defult2.aspx.cs 源码如下 protected void btLOGIN_Click(object sender, EventArgs e)
{
string conn = "server=PC-201005131654;database=Project;user id=sa;pwd=123";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string strsql = "select user_password,user_level from user_table where user_id='" + tbID.Text+ "'";
SqlCommand cmd = new SqlCommand(strsql, cn);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
if (rd.GetValue(0).ToString() == tbPASSWORD.Text)
{
string str = rd.GetValue(1).ToString();
string str1 = ddlLEVEL.SelectedValue;
if (str == str1)
{
switch (str)
{
case "ymanager":
Response.Redirect("YSTUDY_MANAGER.aspx");
break;
case "supermaster":
Response.Redirect("SUPER_MASTER.aspx");
break;
case "teacher":
Response.Redirect("teacher.aspx");
break;
}}}}}
运行没有错误,但是页面不跳转于是我把user_table表放在Northwind库里,竟然就好用了!
费解啊···这个系统里还有很多表在Project数据库里,不想重新见表了
[size=14px]求哪位大侠指点迷津啊![/size]
user_id user_password userlevel
123 123 ymanager varchar
1234 1234 supermaster varchar
12345 12345 teacher varchar
defult2.aspx.cs 源码如下 protected void btLOGIN_Click(object sender, EventArgs e)
{
string conn = "server=PC-201005131654;database=Project;user id=sa;pwd=123";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string strsql = "select user_password,user_level from user_table where user_id='" + tbID.Text+ "'";
SqlCommand cmd = new SqlCommand(strsql, cn);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
if (rd.GetValue(0).ToString() == tbPASSWORD.Text)
{
string str = rd.GetValue(1).ToString();
string str1 = ddlLEVEL.SelectedValue;
if (str == str1)
{
switch (str)
{
case "ymanager":
Response.Redirect("YSTUDY_MANAGER.aspx");
break;
case "supermaster":
Response.Redirect("SUPER_MASTER.aspx");
break;
case "teacher":
Response.Redirect("teacher.aspx");
break;
}}}}}
运行没有错误,但是页面不跳转于是我把user_table表放在Northwind库里,竟然就好用了!
费解啊···这个系统里还有很多表在Project数据库里,不想重新见表了
[size=14px]求哪位大侠指点迷津啊![/size]
string str1 = ddlLEVEL.SelectedValue;
if (str == str1)
{
cn.Open();
string strsql = "select user_password,user_level from user_table where user_id='" + tbID.Text+ "'";
SqlCommand cmd = new SqlCommand(strsql, cn);
SqlDataReader rd =cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(rd.HasRows && rd.Read()){}
}
1,数据访问,业务逻辑,页面控制分开
2,SqlDataReader不关闭你就跳
3,一般密码不取出来比较,输入的密码作为条件查询。遵守一下上面三点估计你得问题就解决了。