日期:2014-05-18 浏览次数:20971 次
/// <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吧