无法更新 MSSQL 服务器中的日期时间字段



我的 ASP.NET MVC项目中有一个更新子句,我只想使用当前时间更新单个字段。我知道我也可以使用 GETDATE((,但我需要从服务层传递日期参数。因此,查询完全如下所示,我也尝试在MSSQL服务器上使用它,但遇到了相同的错误:"'.2019'附近的语法不正确。

更新公司[票证] 设置已更新 = 29.04.2019 15:25:58 其中 [Id] = 103

这是我构建 sql 子句的代码端:

DateTime lastUpdate = DateTime.Now;
string sql = "UPDATE com.[Ticket] SET Updated = " + lastUpdate + " WHERE [Id] = " + model.Id;

更新的字段为 n 个日期时间类型。我是否必须格式化更新子句中的日期参数?

参数化查询。然后,您无需担心日期字符串的格式,更重要的是,您不接受SQL注入。

string sql = "UPDATE com.[Ticket] SET Updated = @date WHERE [Id] = @id";
SqlCommand command = new SqlCommand(sql, conn);
command.Parameters.AddWithValue("@date", DateTime.Now);
command.Parameters.AddWithValue("@id", model.Id);

日期可以格式化:

UPDATE com.[Ticket] SET Updated = '2019/04/29 15:25:58' WHERE [Id] = 103

最新更新