我想将数据插入SQL Server,但我在datadridview数据中有不同的格式是“dd / mm / yyyy”,在我看到我的SQL Server格式之后是“yyyy / mm / dd”我为什么能这样做不要在哪里使用更新数据。
在我的SQL Server中,数据类型为Date
,并且在我的插入查询中
cmd.Parameters.AddWithValue("@Date", Convert.ToDateTime(row.Cells("Date").Value))
答案 0 :(得分:0)
格式无关紧要。将DateTime
转换为String
进行显示或将文本输入转换为DateTime
时,格式只是一个问题。您应该在数据库中存储二进制日期,二进制日期只是数字而没有格式。您还应该在网格中存储二进制DateTime
值。网格如何显示它们与它们的存储方式无关。
这是你应该做的。使用DataTable
值列创建DateTime
,而不是String
值。您可以手动执行此操作,或在调用Fill
时让数据适配器为您执行此操作。将DataTable
绑定到您的网格并配置网格列以显示日期,但这适用于应用程序。通过在同一数据适配器上调用Update
来保存对网格所做的任何和所有更改。您可以使用命令构建器生成操作命令,也可以自己创建它们。无论哪种方式,您都不要自己填充参数,但数据适配器会从DataTable
中提取值。如果您手动创建命令,则创建参数将如下所示:
myDataAdapter.InsertCommand.Parameters.Add("@Date", SqlDbType.Date, 0, "Date")
告诉数据适配器获取" @ Date"的值。参数来自"日期" DataTable
的列。