在c#date和sqldatetime之间转换的简单方法

本文关键字:简单 方法 转换 之间 c#date sqldatetime | 更新日期: 2023-09-27 18:22:08

我在c#项目中一直遇到同样的问题。我试图在sql表中插入日期时间,但在土耳其。日期总是DD.MM.YYYY,C#或SQL有时会像美国人一样尝试插入MM.DD.YYYY。

如何永远解决这个问题?

这是一个示例代码

string selectSql = @"INSERT INTO [RN_VEHICLES_GUEST_INOUT] ([PLAKA],[MY_DATE])  
                     VALUES(@PLAKA,@MY_DATE)
cmd.Parameters.Add("@PLAKA", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);
cmd.Parameters["@PLAKA"].Value = txtPlaka.Text.ToString();
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue.ToString();

这个代码一直工作到今天,它今天崩溃了,因为今天是2013年7月13日,它试图将它插入为MM.DD.YYYY。昨天是2012年7月12日,我没有问题,因为它可以将12转换为一个月,但不能转换为13。这就是我意识到问题的原因。

如何确保C#和SQL始终以DD.MM.YYYY格式工作?

在c#date和sqldatetime之间转换的简单方法

如果它是数据库中的一个DateTime字段和C#中的DateTime变量,为什么要将其转换为String

所以不是

cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue.ToString();

cmd.Parameters.Add("@GELIS_TARIHI", SqlDbType.DateTime);
cmd.Parameters["@GELIS_TARIHI"].Value = dateGelisTarihi.EditValue;

(假设dateGelisTarihi.EditValueDateime