我想将电子邮件与参数变量(也称为电子邮件)进行比较。我收到一条错误消息“参数?电子邮件必须定义
”我也尝试使用@email
:
internal bool ValidateUser(string email, string password, bool rememberMe)
{
bool valid = false;
using (_msqlCon = new MySqlConnection(_connectionString))
{
_msqlCon.Open();
_query = "SELECT Password, RememberMe FROM RegisteredUsers WHERE Email = ?email";
using (_command = new MySqlCommand(_query, _msqlCon))
{
MySqlDataReader reader = _command.ExecuteReader();
if (reader["Password"].Equals(password)) { valid = true; }
}
}
return valid;
}
如何检查电子邮件列是否与作为参数给出的列相同?
最佳答案
如果您询问如何在查询中使用 email
参数,答案是将其作为参数添加到命令对象中。试试这个:
internal bool ValidateUser(string email, string password, bool rememberMe)
{
bool valid = false;
using (_msqlCon = new MySqlConnection(_connectionString)) {
_msqlCon.Open();
_query = "SELECT Password, RememberMe FROM RegisteredUsers WHERE Email = @Email";
using (_command = new MySqlCommand(_query, _msqlCon)) {
_command.Parameters.AddWithValue("@Email", email);
MySqlDataReader reader = _command.ExecuteReader();
if (reader["Password"].Equals(password)) {
valid = true;
}
}
}
return valid;
}
参见the documentation有关如何使用参数的更多信息。
关于c# - 将 MySQL 列与方法中的参数变量进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953732/