中易网

asp.net 数据库读取值与用户输入值比较问题

答案:3  悬赏:30  
解决时间 2021-02-16 16:07
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
string getName;
string getPassword;
protected void Page_Load(object sender, EventArgs e)
{
}

protected void btnLogin_Click(object sender, EventArgs e)
{
String str = "Data Source=yanyan;Initial Catalog=Data;Integrated Security=True;Pooling=False";
SqlConnection coon = new SqlConnection(str);
//打开连接
coon.Open();

//读取数据
SqlCommand cmd = new SqlCommand("select * from UserInfo where Uname='" + UserNameLogin.Text + "'", coon); //创建查询用户名是否存在数据对象
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
getPassword = sdr["Upassword"].ToString();

if (getPassword == PasswordLogin.Text)//密码正确
{
Session["userID"] = UserNameLogin.Text.Trim();//存储用户名
Response.Redirect("SuccessLogin.aspx");
}

else
{
ErrorLable.Text = "密码错误";
ErrorLable.Visible = true;
}

//else
// LabErrorname.Visible = true;
}

coon.Close();
}

我给程序设置了断点,但他不走
if (getPassword == PasswordLogin.Text)//密码正确
{
Session["userID"] = UserNameLogin.Text.Trim();//存储用户名
Response.Redirect("SuccessLogin.aspx");
}
if里的这段代码,但是getpassword(从数据库里取出的值)的值是等于PasswordLogin.Text的
不知道是哪里错了 ,请帮忙看看,谢谢了
最佳答案
改成
if (sdr.HasRows)
{
sdr.Read();//Read()方法只是去读去读下一条数据而已,HasRows才是表示这个数据集是否存在数据。
getPassword = sdr["Upassword"].ToString();
...
...//只有上面两句改了,下面基本还是按照你原来的做
}
sdr.Dispose();
sdr.Close();//reader一定要记得释放,不然你的程序跑不了多久。
全部回答
if (sdr.Read()) { 这里,如果你的数据库里没读出数据来的话。 if (getPassword == PasswordLogin.Text),是执行不到这段代码来的。所以,应该判断一下 if (sdr.Read()) { } else { //没有此用户。 } 其他的没发现什么。
<p>既然你在alert里边输出,反正都当字符串处理了,没有必要转换成(int):</p>  <p>建议:response.write("&lt;script&gt;alert("+<strong>od["top"].tostring()</strong>+")&lt;/script&gt;");</p>
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
武汉龙帅美容正规吗?工作怎么样?
郸城县周口郸城第一家咸稀饭在什么地方啊,我
菜鸟求助KindEdit控件的单独上传图片功能
巴彦县水务局在什么地方啊,我要过去处理事情
为什么石家庄合作路派出所要查电销,电销不合
符合ROHS要求 英语怎么说
怎么表达相见恨晚心情 相见恨晚的说说
洪桥地址有知道的么?有点事想过去
爷爷奶奶能为10岁以下的孙子投什么保险?
为什么我发贴总是被删
如果投资做现货,资金是不是安全的?如何才能
华氏城是哪个的国家的首都呀
威海同泰进出口有限公司在什么地方啊,我要过
为什么word打开之后关不掉?
在园内散步时闻到花香是什么物理现象
推荐资讯
应抓紧时间复习的英文怎么拼
为什么手机自带的相机功能无缘无故没有了
视乐眼镜地址有知道的么?有点事想过去
公司不签合同,到底能没能告赢
黑暗之魂3魔恩的臂甲 怎么获得
[image]20 原来的四川省达县罗江区新村二队有
中国联通荣业营业厅在哪里啊,我有事要去这个
广东省医学会医事法学分会这个地址在什么地方
唐康林ug建模教学
圣衣神话圣斗士EX黄金补色。
有什么好看的已经完结的动漫
表示小心的词语
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?