Asp.net中实现登陆功能,但是总提示密码错误,求大神指点!

”YZJ“是数据库名称,”zhuce“是表名,环境:VS2010,SQL2008protectedvoidButton1_Click(objectsender,Event... ”YZJ“ 是数据库名称,”zhuce“是表名,环境:VS 2010,SQL 2008

protected void Button1_Click(object sender, EventArgs e)
{
Boolean a;
a = false;
if (TextBox1.Text == string.Empty || TextBox2.Text == string.Empty)
{
Label3.Text = "请输入用户名和密码";
//输出报错原因,都为空
}
string str;
SqlConnection sql = new SqlConnection();
sql.ConnectionString = "Data Source=localhost;Initial Catalog=YZJ;Integrated Security=true";
sql.Open();
str = "select * from zhuce";
SqlCommand sqlcom = new SqlCommand(str, sql);
SqlDataReader dr = sqlcom.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{

if (TextBox1.Text.Equals(dr.GetString(1)))//这里看你用户名是在第几列,我这里是第二列所以索引用的是1
{

if (TextBox2.Text.Equals(dr.GetString(2)))//这里同理,看你匹配的密码实在第几列
{
a = true;
Server.Transfer("学生主页.aspx");
//用户名密码正确
}
else
{
a = true;
Label4.Text = "密码错误";
//输出报错原因,为密码错误
}
}

}
}
if (a == false)
{

Label3.Text = "用户名错误";
//输出报错原因,为用户名错误

}
}
展开
 我来答
匿名用户
2015-07-30
展开全部
1、首先确认你的密码有没有加密。
2、你是用Equals判断密码是否一致,建议你换成==。
Equals方法对于值类型和引用类型的定义不同,对于值类型,类型相同,并且数值相同(对于struct的每个成员都必须相同),则Equals返回true,否则返回false。
更多追问追答
追问
具体代码该怎样修改呢?
追答
Equals换成==,试一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式