gpt4 book ai didi

c# - SQL Server CE 中的正确日期时间格式?

转载 作者:太空狗 更新时间:2023-10-29 22:05:14 24 4
gpt4 key购买 nike

我有一个 C# DateTime类并想知道我需要如何在 SQL Server CE 查询中格式化它以将其插入数据库,我希望同时插入日期和时间。目前,当我尝试其变体时,我得到无效格式异常。

我目前使用的格式是:dd/MM/yyyy , 希望做类似 dd/MM/yyyy hh:mm:ss 的事情.

我尝试插入的方式是这样的:

 ( ( DateTime )_Value ).ToString( "dd/MM/yyyy hh:mm:ss" )

显然 hh:mm:ss不工作,如果那不存在的话dd/MM/yyyy在查询中成功执行。

我尝试了几种格式,包括我在 google 上找到的格式,但到目前为止都没有用...

最佳答案

如果您担心格式不正确,那说明已经出了严重的问题。要在任何数据库(不仅仅是 sqlce)中正确使用日期时间值,您需要做两件事:

  1. 确保您为该列使用日期时间类型(而不是像 varchar 这样的文本类型)
  2. 确保您在参数化查询中使用日期时间参数,而不是字符串连接。

如果您这样做,您就不会涉及格式设置。完全没有。示例:

 void SetDate(int recordID, DateTime timeStamp)
{
string SQL = "UPDATE [sometable] SET someDateTimeColumn= @NewTime WHERE ID= @ID";

using (var cn = new SqlCeConnection("connection string here"))
using (var cmd = new SqlCeCommand(SQL, cn))
{
cmd.Parameters.Add("@NewTime", SqlDbType.DateTime).Value = timeStamp;
cmd.Parameters.Add("@ID", SqlDbType.Integer).Value = recordID;

cn.Open();
cmd.ExecuteNonQuery();
}
}

从来没有曾经使用字符串操作来将值替换到sql查询中。这是一个巨大的禁忌。

关于c# - SQL Server CE 中的正确日期时间格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031551/

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