VB.NET将不同格式的日期插入到SQL Server中

时间:2016-08-05 02:38:08

标签: sql-server vb.net

我想将数据插入SQL Server,但我在datadridview数据中有不同的格式是“dd / mm / yyyy”,在我看到我的SQL Server格式之后是“yyyy / mm / dd”我为什么能这样做不要在哪里使用更新数据。

在我的SQL Server中,数据类型为Date,并且在我的插入查询中

 cmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(row.Cells("Date").Value))

vb formatsql format

1 个答案:

答案 0 :(得分:0)

格式无关紧要。将DateTime转换为String进行显示或将文本输入转换为DateTime时,格式只是一个问题。您应该在数据库中存储二进制日期,二进制日期只是数字而没有格式。您还应该在网格中存储二进制DateTime值。网格如何显示它们与它们的存储方式无关。

这是你应该做的。使用DataTable值列创建DateTime,而不是String值。您可以手动执行此操作,或在调用Fill时让数据适配器为您执行此操作。将DataTable绑定到您的网格并配置网格列以显示日期,但这适用于应用程序。通过在同一数据适配器上调用Update来保存对网格所做的任何和所有更改。您可以使用命令构建器生成操作命令,也可以自己创建它们。无论哪种方式,您都不要自己填充参数,但数据适配器会从DataTable中提取值。如果您手动创建命令,则创建参数将如下所示:

myDataAdapter.InsertCommand.Parameters.Add("@Date", SqlDbType.Date, 0, "Date")

告诉数据适配器获取" @ Date"的值。参数来自"日期" DataTable的列。