![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
vs2012 C#连接sql问题
if(!string.IsNullOrEmpty(textBox1.Text.Trim())&&!string.IsNullOrEmpty(textBox2.Text.T...
if (!string.IsNullOrEmpty(textBox1.Text.Trim()) && !string.IsNullOrEmpty(textBox2.Text.Trim()))
{
SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=miciny;database=wuliu");
SqlCommand sqlcommand = sqlcon.CreateCommand();
sqlcon.Open();
SqlDataReader dr;
sqlcommand.CommandText = "select passwords from wuliu where sname='" + textBox1.Text.Trim() + "'";
dr = sqlcommand.ExecuteReader();
if (dr.Read())
{
string password = dr.GetString(0).ToString();
dr.Close();
if (textBox2.Text.Trim() == password )
{
.....
这是连接我的数据库,用户名查询没问题,但是在判断密码时总是显示密码错误,求高手把可能的问题告诉我啊? 展开
{
SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=miciny;database=wuliu");
SqlCommand sqlcommand = sqlcon.CreateCommand();
sqlcon.Open();
SqlDataReader dr;
sqlcommand.CommandText = "select passwords from wuliu where sname='" + textBox1.Text.Trim() + "'";
dr = sqlcommand.ExecuteReader();
if (dr.Read())
{
string password = dr.GetString(0).ToString();
dr.Close();
if (textBox2.Text.Trim() == password )
{
.....
这是连接我的数据库,用户名查询没问题,但是在判断密码时总是显示密码错误,求高手把可能的问题告诉我啊? 展开
5个回答
展开全部
select passwords。。。你的数据库的表名、密码字段名分别是什么?一般我们写的是password你怎么会用复数?你的连接字符串里面看wuliu是数据库名,但是到了你的sql语句里面又成了表名。。。
真是有点乱啊。。。
顺便说一下,验证密码用下面的格式比较方便
string sql = string.Format("select count(*) from 表名 where 用户名列名 = '{0}' and 密码列名 = '{1}'", text用户名.text, text密码.text);
cmd=new SqlCommand (sql,conn);
if ((int)cmd.ExecuteScalar() > 0)
{
//密码正确
}
真是有点乱啊。。。
顺便说一下,验证密码用下面的格式比较方便
string sql = string.Format("select count(*) from 表名 where 用户名列名 = '{0}' and 密码列名 = '{1}'", text用户名.text, text密码.text);
cmd=new SqlCommand (sql,conn);
if ((int)cmd.ExecuteScalar() > 0)
{
//密码正确
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不如直接一起写在SQL语句中了
select passwords from wuliu where sname='" + textBox1.Text.Trim() + "'" and 密码字段='"+textBox2.text,trim()+"'
dr = sqlcommand.ExecuteReader();
if (dr.Read())
{
//账号密码正确
}
else
{
//账号密码不正确
}
select passwords from wuliu where sname='" + textBox1.Text.Trim() + "'" and 密码字段='"+textBox2.text,trim()+"'
dr = sqlcommand.ExecuteReader();
if (dr.Read())
{
//账号密码正确
}
else
{
//账号密码不正确
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看数据库passwords字段的类型 如果是char 或nchar类型的话
比如是char(10) 如果password不足 10位 则末尾会自动被空格补足
你在if (textBox2.Text.Trim() == password ) 这行打断点调试 看看具体值是什么
比如是char(10) 如果password不足 10位 则末尾会自动被空格补足
你在if (textBox2.Text.Trim() == password ) 这行打断点调试 看看具体值是什么
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,你在判断密码的时候,密码有加密吗,就是在添加用户的时候密码是否加密,如果加密了那么在输入后的密码也要加密,之后才和读取出来的密码进行比较,不然总是报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你打个断点调试下,看看变量password是什么内容,如果读出来是正确的,那就看看逻辑判断有没有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询