日期时间更新格式错误 Asp.Net
本文关键字:Asp Net 错误 格式 时间 更新 日期 | 更新日期: 2023-09-27 18:37:23
我有一个意大利语格式的日期时间字符串,如下所示:
23/03/2012
此更新的 SQL 命令在日期时间部分是这样的:
DateTime.ParseExact(Reg_tes.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
这适用于我的 Sql 服务器(意大利语),但如果我在我的服务器(英语)上执行此操作,我会给出此错误:
"将 varchar 数据类型转换为日期时间数据类型 导致值超出范围"
我该如何解决这个问题?
应始终使用参数化查询来防止此类 sql 注入和本地化问题。
所以我假设你把这个日期时间作为字符串传递给数据库。
using(var con = new SqlConnection("connection-string"))
using(var cmd = new SqlCommand("UPDATE dbo.TableName SET DateColumn=@DateColumn WHERE PK=@PK", con))
{
DateTime reg_tes = DateTime.ParseExact(Reg_tes.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
cmd.Parameters.AddWithvalue("@DateColumn", reg_tes);
// other parameters ...
con.Open();
int affected = cmd.executeNonQuery();
}