我正在努力学习.WPF和我已经遇到了障碍。 我试图通过文本框获取2个用户输入字符串,并将两个字符串与值进行比较 从mySQL数据库中检索。
下面的findUserFromDB函数:(这应该检索并比较用户值)
public static void findUserFromDB(string user, string pass)
{
List<User> users = new List<User> { };
MySqlDataReader reader = null;
bool userFound = false;
MainWindow main = new MainWindow();
try
{
myConn.Open();
MySqlCommand cmd = new MySqlCommand();
//Sets command text and connection database
cmd.CommandText = string.Format("Select * From users");
cmd.Connection = myConn;
reader = cmd.ExecuteReader();
while(reader.Read())
{
User forUser = new User
{
sName = reader.GetString("Forename").Trim(),
sPass = reader.GetString("Password").Trim(),
};
users.Add(forUser);
}
if (userFound == false)
{
MessageBoxResult msg = MessageBox.Show(main, "Username or Password" +
" not recognised.", "Login failed", MessageBoxButton.OK);
}
for (int i = 0; i < user.Count(); i++)
{
if (users[i].sName == user && users[i].sPass == pass)
{
Menu m = new Menu();
string message = "Welcome back " + user + ".";
MessageBoxResult msg = MessageBox.Show(main, message,
"Login successful", MessageBoxButton.OK);
m.Show();
main.Close();
break;
}
}
}
catch (MySqlException e)
{
}
finally
{
if (reader != null)
{
reader.Close(); //Close the reader
}
if (myConn != null)
{
myConn.Close(); //ensure you close the connection
}
}
现在看着它我意识到我应该在比较值之前检索数据然后关闭数据库......
我的问题: 我究竟做错了什么? 只要按下按钮登录就没有任何反应。
答案 0 :(得分:0)
我明白了。
引用了错误的数据库^^, 上帝我觉得自己很蠢......