Login控件登陆,Login控件上的UserName和Password的值的传递是正确的,数据库连接也是正确的,要读的数据库内的表是:
表名:Student
SNo(主键)
SName
SPassword
我想要做的操作是根据Login控件上的UserName(即Student表中的SNo)在Student表中查SPassword,如果表Student中没有UserName或者查到的SPassword与Login控件上的Password不等,跳转到Default.aspx,如果查到的SPassword与Login控件上的Password相等,跳转到StuShowQue.aspx。好像是C#语言有错误。下面是代码:protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
string constr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\school.mdf;Integrated Security=True;User Instance=True";
SqlConnection con = null;
con = new SqlConnection();
con.ConnectionString = constr;
con.Open();
String Name = Login1.UserName;
String Password =Login1.Password; try
{
String cc="Select SPassword from Student where SNo='20080001'";
SqlCommand cmd = new SqlCommand(cc,con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
String aa = dr.GetString(0);
if (aa.Equals(Password))
Response.Redirect("StuShowQue.aspx");
else
Response.Redirect("Default.aspx");
}
else
Response.Redirect("Default.aspx");
}
catch (Exception ex) { } }
}
表名:Student
SNo(主键)
SName
SPassword
我想要做的操作是根据Login控件上的UserName(即Student表中的SNo)在Student表中查SPassword,如果表Student中没有UserName或者查到的SPassword与Login控件上的Password不等,跳转到Default.aspx,如果查到的SPassword与Login控件上的Password相等,跳转到StuShowQue.aspx。好像是C#语言有错误。下面是代码:protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
string constr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\school.mdf;Integrated Security=True;User Instance=True";
SqlConnection con = null;
con = new SqlConnection();
con.ConnectionString = constr;
con.Open();
String Name = Login1.UserName;
String Password =Login1.Password; try
{
String cc="Select SPassword from Student where SNo='20080001'";
SqlCommand cmd = new SqlCommand(cc,con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
String aa = dr.GetString(0);
if (aa.Equals(Password))
Response.Redirect("StuShowQue.aspx");
else
Response.Redirect("Default.aspx");
}
else
Response.Redirect("Default.aspx");
}
catch (Exception ex) { } }
}
1、if尽量带{}
2、con.Open();放到try里,SqlDataReader dr = cmd.ExecuteReader();这句之前
2、try增加finally,里边con.Close();其他问题吧try去掉,看看什么错误信息
string strConn = @"Data Source=192.168.1.88;Initial Catalog=dm;User ID=sa;Password=admin";
二楼 把try去掉了,程序还是能运行,但我用正确的用户名、密码还是登陆不了我用
4楼 是我的连接有问题?