gpt4 book ai didi

c# - 在 sql 查询中使用 .net Datetime

转载 作者:太空狗 更新时间:2023-10-30 00:09:13 24 4
gpt4 key购买 nike

我有一个 DateTime 对象,我想将它与 where 子句中的 sql 日期时间字段进行比较。我目前正在使用:

"where (convert( dateTime, '" & datetimeVariable.ToString & "',103) <= DatetimeField)"

但我相信 datetimeVariable.ToString 会根据系统运行的文化返回不同的值。

您将如何处理它以使其独立于文化?

编辑:我不会在这段代码中使用参数化的 sql...

编辑:按照 Parmesan 对其中一个答案的评论,看起来最好的方法可能是:

"where (convert( dateTime, '" & datetimeVariable.ToString( "s" ) & "',126) <= DatetimeField)"

最佳答案

不要使用字符串连接,使用参数化查询。传入类型为 DateTime 的参数值。这完全避免了格式化问题,提高了后续查询的性能,并解决了您在以这种方式构建 SQL 时容易遇到的固有漏洞(SQL 注入(inject))。

"where @dateTime <= DateTimeField"

然后设置参数@dateTime。如果您需要更多,请告诉我们更多关于您的代码的信息 - 直接 ADO.NET、企业库,还是其他?

关于c# - 在 sql 查询中使用 .net Datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com