Hi All,
Het gaat erom dat String.Equals(HashedTestPwd,MyDR.GetString(0)) false geeft terwijl de twee waarde die worden vergeleken wel degelijk aanwezig zijn en gelijk zijn (Ook van DataType).
Als ik een Response.Write doe direct na de String.Equals met de twee variabelen dan staan ze daar heel mooi bij, maar vergelijken homaar.
.modbreak: indenting iets minder gemaakt
Het gaat erom dat String.Equals(HashedTestPwd,MyDR.GetString(0)) false geeft terwijl de twee waarde die worden vergeleken wel degelijk aanwezig zijn en gelijk zijn (Ook van DataType).
Als ik een Response.Write doe direct na de String.Equals met de twee variabelen dan staan ze daar heel mooi bij, maar vergelijken homaar.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| private bool validateUser(string id,string UnHashedPwd)
{
// Make the Database Connection.
const string ConnStr = "MyDataConnectionString;";
SqlConnection MySqlConn = new SqlConnection(ConnStr);
MySqlConn.Open();
bool result=false;
string HashedTestPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(UnHashedPwd, "md5");
string SQL = "SELECT PassWord FROM UserInfo WHERE (LoginName = '"+TextBox1.Text+"')";
SqlCommand MySqlCmd = new SqlCommand(SQL, MySqlConn);
SqlDataReader MyDR = MySqlCmd.ExecuteReader();
if (!MyDR.Read())
{
result=false;
Label5.Text = "!MyDR.Read() returns true";
}
else
{
if (MyDR.IsDBNull(0))
{
result=false;
Label5.Text = "MyDR.IsDBNull(0) Results in True";
}
else
{
result=(String.Equals(HashedTestPwd,MyDR.GetString(0)));
Label5.Text = "String.Equals Results in True<br>" + HashedTestPwd + "<br>" + MyDR.GetString(0);
Label5.Text += "<br>But the value is "+result;
}
}
MyDR.Close();
MySqlConn.Close();
return result;
} |
.modbreak: indenting iets minder gemaakt
[ Voor 11% gewijzigd door .oisyn op 21-10-2003 20:45 ]