c# - 在 c# 日期和 sql 日期时间之间转换的简单方法

标签 c# sql sql-server datetime

我在我的 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 插入。昨天是 2012 年 7 月 12 日,我没有遇到问题,因为它可以将 12 转换为一个月而不是 13。这就是我意识到问题的方式。

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

最佳答案

如果它是数据库中的 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.EditValue 是一个 Dateime )

关于c# - 在 c# 日期和 sql 日期时间之间转换的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629731/

相关文章:

sql - 有没有办法获取 SQL Server 中所有当前临时表的列表?

c# - 防止 XslCompiledTransform 使用自闭合标签

c# - 等待BackgroundWorker RunWorkerCompleted

c# - ASP.NET 动态数据 - 全局化和本地化

mysql 查询选择带有变音符号的土耳其字母

sql - 使用动态 SQL 设置参数

c# - Random.Next() 的异常使 try-catch block 中的程序崩溃

sql - Spring Data Jpa规范给定问题的实现

php - 使用 PHP 在 sql 查询中传递字符串数组

sql - 查找无序记录