更新日期类型日期
Update datetype date
我收到此异常:"Fatal error encountered during command execution."
我当前的代码如下所示:
internal void UpdateLastLogin(string userEmail)
{
DateTime today = DateTime.Now;
using (_msqlCon = new MySqlConnection(_connectionString))
{
_msqlCon.Open();
_query = "UPDATE Regs SET `LastLogin` = ?today WHERE Email = ?userEmail";
_command = new MySqlCommand(_query, _msqlCon);
_command.ExecuteNonQuery();
}
}
列:LastLogin
的数据类型为 date
在搜索更多信息之前,我首先尝试的是:
_query = "UPDATE Regs SET LastLogin = ?today WHERE Email = ?userEmail";
我也试过:
_query = "UPDATE Regs SET `LastLogin` = `?today` WHERE Email = ?userEmail";
请注意,不同之处在于列和变量上的引号。我哪里错了?
Ps。 Email
列的类型为 VarChar
你不能像那样在命令中使用变量。你的语法错误。
将它们定义为命令中的参数,并在命令中添加它们的参数名称和值。
_query = "UPDATE Regs SET `LastLogin` = @today WHERE Email = @mail";
_command = new MySqlCommand(_query, _msqlCon);
_command.Parameters.AddWithValue("@today", today);
_command.Parameters.AddWithValue("@mail", userEmail);
发件人:5.1.4 Working with Parameters
Note
The parameter is preceded by an '@' symbol to indicate it is to be
treated as a parameter.
标准 MySqlCommand 参数应以 @
符号开头,而不是 ?
.
所以你的查询文本应该是"UPDATE Regs SET LastLogin = @today WHERE Email = @userEmail"
此外,如果您在查询文本中使用参数 - 您必须使用 _command.Parameters.Add
.
明确指定它们
我收到此异常:"Fatal error encountered during command execution."
我当前的代码如下所示:
internal void UpdateLastLogin(string userEmail)
{
DateTime today = DateTime.Now;
using (_msqlCon = new MySqlConnection(_connectionString))
{
_msqlCon.Open();
_query = "UPDATE Regs SET `LastLogin` = ?today WHERE Email = ?userEmail";
_command = new MySqlCommand(_query, _msqlCon);
_command.ExecuteNonQuery();
}
}
列:LastLogin
的数据类型为 date
在搜索更多信息之前,我首先尝试的是:
_query = "UPDATE Regs SET LastLogin = ?today WHERE Email = ?userEmail";
我也试过:
_query = "UPDATE Regs SET `LastLogin` = `?today` WHERE Email = ?userEmail";
请注意,不同之处在于列和变量上的引号。我哪里错了?
Ps。 Email
列的类型为 VarChar
你不能像那样在命令中使用变量。你的语法错误。
将它们定义为命令中的参数,并在命令中添加它们的参数名称和值。
_query = "UPDATE Regs SET `LastLogin` = @today WHERE Email = @mail";
_command = new MySqlCommand(_query, _msqlCon);
_command.Parameters.AddWithValue("@today", today);
_command.Parameters.AddWithValue("@mail", userEmail);
发件人:5.1.4 Working with Parameters
Note
The parameter is preceded by an '@' symbol to indicate it is to be treated as a parameter.
标准 MySqlCommand 参数应以 @
符号开头,而不是 ?
.
所以你的查询文本应该是"UPDATE Regs SET LastLogin = @today WHERE Email = @userEmail"
此外,如果您在查询文本中使用参数 - 您必须使用 _command.Parameters.Add
.