0

我如何为此排序规则格式化带有日期时间的插入语句...

目前:

string SQLst = "UPDATE [LASTUPDATE] SET last_update = '" + DateTime.Now.ToString("yyyy-MM-dd") + "'";

这适用于 Latin1_General_CI_AS 但现在在不同的服务器上我需要这个语句才能使用设置为排序规则 SQL_Latin1_General_CP1_CI_AS 的服务器

这是我得到的错误:

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value
4

2 回答 2

4

根本不执行转换。相反,使用参数化 SQL 并将值设置为参数。您应该对所有参数使用参数化 SQL,以避免SQL 注入攻击、像这样的转换问题,并保持代码更干净。

一般避免不必要的字符串转换。它们几乎总是细微错误的潜在来源。

于 2012-06-27T09:46:57.020 回答
1

如果你按照@Jon Skeet 所说的那样做会很棒,但如果你不能,那就使用 CONVERT

string SQLst = "UPDATE [LASTUPDATE] SET last_update = CONVERT(datetime, '"+DateTime.Now.ToString("yyyy-MM-dd")+"', 120)
于 2012-06-27T09:48:13.870 回答