2012-07-13 76 views
0

我无法插入到MySQL数据表,使用C# & ODBC 5.1插入日期。尝试写入DateTime字段时,插入失败。 MySQL表示DateTime值的格式不正确。它表示我插入的值为:遇到问题与数据库

13-07-2012 13:46:21.000031000. 

正如您所看到的,秒数有一串十进制数字。我无法弄清楚为什么要添加这些东西。如果我手动插入行(例如使用MySQL工作台),并提供一个值,如:

13-07-2012 13:46:21 

MySQL似乎不加小数点&插入成功完成。据我所知,DateTimeC#ODBC参数不包含这些小数,所以它似乎在MySQL在某些点上的东西是添加它们!

+0

我想你会发现它的C#日期时间格式 – JamesHalsall 2012-07-13 13:02:47

+0

使用预准备语句 – 2012-07-13 13:02:49

+0

在MySQL中日期时间的正确格式是''2012-07-13 13:46:21'' – 2012-07-13 13:06:05

回答

0

我会使用MySQL的STR_TO_DATE功能的C#格式化的日期字符串转换为一个MySQL能够使用:

STR_TO_DATE("13-07-2012 13:46", "%d-%m-%Y %h:%i") 

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

+0

嗨,ypercube感谢您的回复,错误消息是System.Data.Odbc.OdbcException:错误[HY000] [MySQL] [ODBC 5.1驱动程序] [ mysqld-5.1.63-community]日期时间值不正确:'2012-07-13 15:05:08.499000000'列'CreationDate'在第1行 – user1523606 2012-07-13 14:07:08