使用SqlDatareader读取数据问题

问:使用SqlDataReader读取数据后,不能得到正确数据,得到的结果是,如果查找正确返回1,不正确返回0,没有返回希望查找到的数据代码如下:privatevoidb... 问:使用SqlDataReader读取数据后,不能得到正确数据,得到的结果是,如果查找正确返回1,不正确返回0,没有返回希望查找到的数据
代码如下:

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.ToString() == "" || textBox2.Text.ToString() == "")
{
MessageBox.Show("用户名或密码不能为空!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
string s = "Data Source=. \\SQLEXPRESS;AttachDbFilename=D:\\medicament.mdf;";
s += "Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(s);
string s1="select count(*) from [User] where user_Name='"+textBox1.Text.ToString()+"' and user_Password='"+textBox2.Text.ToString()+"'";
SqlCommand com = new SqlCommand(s1,con);
con.Open();
SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
{
label4.Text = reader[0].ToString();

}
}
}

数据表如下图
展开
 我来答
扶南6I
2009-06-05 · TA获得超过304个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:452万
展开全部
加断点单步调试,如果reader确实有值的话那么考虑页面事件周期,如果reader没有值,那么检查连接和sql
顺便说一下,你这sql语句返回的是用户名和用户密码匹配的条数
是一个单行单列的数据集
sam_yy_cn
2009-06-05 · TA获得超过1372个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:219万
展开全部
首先有一个误区,textBox1.Text已经获取到string内容了,不需要再ToString()了。

string s1="select count(*) from [User] where user_Name='"+textBox1.Text.ToString()+"' and user_Password='"+textBox2.Text.ToString()+"'";

你如果是想返回查找结果的数据集的话,那么是你的SQL语句写错了。

string s1="select user_Name from [User] where user_Name='"+textBox1.Text.ToString()+"' and user_Password='"+textBox2.Text.ToString()+"'";

SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
{
label4.Text = "你登录的用户名是:" + reader[0].ToString();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heisetoufa
2009-06-05 · TA获得超过522个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:431万
展开全部
把sql输出出来,拿到数据库里执行一下看好不好使
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式