日期:2014-05-18 浏览次数:20787 次
/// <summary> /// 连接数据库判断用户输入的用户名密码是否正确,以下仅判断用户名是否在数据库中存在 /// </summary> /// <param name="a">用户输入的用户名</param> /// <param name="b">用户输入的密码</param> /// <returns>如果为true则 用户名和密码 与数据库中的信息符合</returns> public bool LoginUser(String a, String b) { dbhelper.OpenDB(); bool IsOk = false; String SqlSearchName = String.Format("SELECT [UserName] FROM [UserInfo] WHERE '{0}' = [UserName]",a); if (a.Equals(dbhelper.ChaDB(SqlSearchName).ToString())) { IsOk = true; } return IsOk; }
public object ChaDB(String a ) { Object cha = null; SqlCommand comm = new SqlCommand(a, conn); cha = comm.ExecuteScalar(); return cha; }
public bool LoginUser(String a, String b) { dbhelper.OpenDB(); bool IsOk = false; String SqlSearchName = String.Format("SELECT [UserName] FROM [UserInfo] WHERE '{0}' = [UserName]",a); if (a.Equals(dbhelper.ChaDB(SqlSearchName))) { IsOk = true; } return IsOk; } public string ChaDB(String a ) { Object cha = null; SqlCommand comm = new SqlCommand(a, conn); cha = comm.ExecuteScalar(); return (string)cha; }
------解决方案--------------------
equals的确是值比较,==才是引用比较
好吧,看了下http://www.willasrari.com/blog/stringcompare-versus-stringequals/000189.aspx
equals并不是比较理想的比较字符串方法,改用Compare吧