将日期从C#发送到SQL Server

时间:2017-10-01 15:07:40

标签: c# sql-server datetime

我在将SQL Server中的datetime转换为date时遇到了问题。

我不断收到此错误消息:

  

输入字符串的格式不正确。

我试过了这个查询

insert into TasksCopy (Start_Date) 
values (CONVERT(date, '10/01/2017'));

它在SQL Server Management Studio中有效,但在Visual Studio中无法使用C#程序。

但是,下面的查询在Visual Studio和Management Studio中都有效:

insert into TasksCopy (Time) 
values (CONVERT(time, '17:00:00'));

我尝试使用我的C#应用​​程序发送名为datetime的{​​{1}}变量:

datetime
然而,这仍然无效。

以下代码也不起作用:

insert into TasksCopy (Start_Date) 
values (CONVERT(date, datetime.date.ToString("mm/dd/yyyy")));

这也行不通。

将数据作为string query = $"insert into TasksCopy (Start_Date) values (CONVERT(date, @date));"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@date", dateTime.Date); 数据类型发送到SQL Server的正确方法是什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

无论使用何种语言,日期管理始终是一种痛苦,但似乎总是在SQL引擎中工作的一些事情就是将日期字符串发送为

yyyy-mm-dd 

所以你可以尝试这样的事情:

insert into TasksCopy (Start_Date) values (CONVERT(date, datetime.date.ToString("yyyy-mm-dd")));