Junegreat
焚寂六月
2017-04-09 02:54
采纳率: 64.7%
浏览 3.6k

登录验证用户名和密码-ASP.NET

 public static bool CheckLogin(string userName, string password)
            {
                string sqlConnectionStr = "Server = .; DataBase = Experiment; User ID = sa; Password = 585858";
                SqlConnection sqlConnection = new SqlConnection(sqlConnectionStr);
                sqlConnection.Open();

                string sqlCommandStr = "select * from Administrator where admin_name = '" + userName + "'and admin_psw = '" + password + "'";
                SqlCommand sqlCommand = new SqlCommand(sqlCommandStr, sqlConnection);
                SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                if (sqlDataReader.Read())
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }

请问我这样做为什么不能验证用户名和密码?sqlDataReader和sqlCommand之间到底有什么关系啊,我的sqlCommandStr里限定了从用户名为userName并且密码为password(这两个都是通过函数传进来的)选择数据,那么sqlDataReader.ExecuteReader后读到的数据应该也就是这一行啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • showbo
    已采纳

    自己检查变量名前后是不是有空格了,打印出sqlCommandStr 去数据库执行看是否能选出记录,如果你的密码md5,你传递的值也要md5加密后在对比
    sqlCommand用于执行sql语句,还有一个DataAdapter也是用来执行sql语句填充DataTable之类用的,自己找本ado.net基础的书来看
    http://blog.csdn.net/jintougao/article/details/8587661

     string sqlCommandStr = "select * from Administrator where admin_name = '" + userName + "'and admin_psw = '" + password + "'";
    Response.Write(sqlCommandStr);Response.End();/////
    
    点赞 评论

相关推荐