2

我在我的 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();

这段代码一直有效,今天它崩溃了,因为今天是 13.07.2013,它试图将它插入为 MM.DD.YYYY。昨天是 12.07.2012,我没有问题,因为它可以将 12 转换为一个月,但不能转换为 13。这就是我意识到问题的方式。

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

4

1 回答 1

9

如果它是DateTime数据库中的字段和DateTimeC# 中的变量,为什么要将其转换为 aString呢?

所以而不是

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.EditValue是一个Dateime

于 2013-07-13T11:30:53.310 回答