2013-05-01 44 views
1

我已经得到了错误:获取日期的值并将其存储在MySQL数据库中?

INPUT STRING WAS NOT IN A CORRECT FORMAT

运行下面的代码时。

那么你认为这里的错误是什么?我如何格式化DateTimePicker中的日期以正确存储在MySQL数据库中?

这里是我的代码(我只包括了相关的代码,我认为是错误):

cmd.Parameters.AddWithValue("@Rdate", _order.dateTimePicker_Requested.Value.ToString("yyyy-MM-dd")); 
cmd.Parameters.AddWithValue("@Ndate", _order.dateTimePicker_Needed.Value.ToString("yyyy-MM-dd")); 
cmd.Parameters.AddWithValue("@CodeDate", Convert.ToDateTime(DateTime.Now).ToString("yyyy-MM-dd hh:mm:ss")); 
+1

'DateTime.Now' _is_'DateTime'。 – SLaks 2013-05-01 14:04:19

+0

@SLaks是的,Sir在第三个参数中是DateTime,而在第一个和第二个参数中只有一个Date。 – Harvey 2013-05-01 14:09:48

回答

1

除非你的MySQL列是字符串(他们不应该),你应该通过实际日期作为参数。请拨.ToString()

+0

为了详细说明,您将日期作为特定格式的字符串传递。想象一下,如果你的数据库移动到另一个不同格式的服务器会发生什么。只需将它们作为DateTime对象传递给MySQL数据库即可。它可以为您节省很多调试。 – Stefan 2013-05-01 15:38:50

1

您应该设置:

string.Format("{0:yyyy-MM-dd}", your_date); 

希望这有助于!

0

如果你的变量表示日期时间值,那么它不需要将它转换为字符串,它会自动映射与MySQL列类型,如果它仍然不工作,然后回复。 我会发布一些代码,将日期时间转换为正确的,以便它将与列映射。

谢谢。

相关问题