无法将MySQLdate/时间值转换为System.DateTime

我得到这个错误:

无法将MySQLdate/时间值转换为System.DateTime

而我正试图从MySQL数据库中获取数据。 我有我的MySQL数据库中的date数据types。 但是,当它检索到我的数据表,它会得到上面的错误。

我怎样才能解决这个问题?

如果我谷歌的“无法将MySQLdate/时间值转换为System.DateTime”我看到从Visual Studio访问MySQL的问题的许多引用。 这是你的上下文吗?

build议的解决scheme是:

这不是一个错误,但预期的行为。 请在连接选项下查看手册,并将“允许零date时间”设置为true,如附加的图片所示,错误将消失。

参考: http : //bugs.mysql.com/bug.php?id = 26054

您必须将Convert Zero Datetime=True添加到连接string,例如:

 server=localhost;User Id=root;password=mautauaja;Persist Security Info=True;database=test;Convert Zero Datetime=True 

我添加了两个Convert Zero Datetime=TrueAllow Zero Datetime=True ,它工作正常

将date时间值拉下来作为一个string,然后做一个DateTime.ParseExact(value, "ddd MMM dd hh:mm:ss yyyy", culture, styles); 您只需要将date格式设置为从数据库返回的date。 最有可能的是yyyy-MM-dd HH:mm:ss 。 至less是为了我。

在这里查看DateTime.ParseExact更多信息

让MySql将您的unix时间戳转换为string。 使用mysql函数FROM_UNIXTIME(113283901)

我也面临同样的问题,并获取列的名称和types。 然后从表名中强制转换(col_Name为Char)。 从这种方式我得到的问题作为'0000-00-00 00:00:00'然后我更新作为有效的date和时间错误消失我的情况。

您可以使应用程序与MySql使用的date和时间完全兼容。 当应用程序在运行时运行时提供此代码。 首先转到应用程序事件。 在工具列表中

  1. 转到该项目
  2. 项目属性
  3. select应用程序选项卡
  4. 查看应用程序事件

这将打开一个新的文件。 该文件包含在应用程序开始时使用的代码。

在这个新文件中写下这段代码:

  Partial Friend Class MyApplication Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup My.Application.ChangeCulture("en") My.Application.ChangeUICulture("en") My.Application.Culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd" My.Application.Culture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd" My.Application.Culture.DateTimeFormat.LongTimePattern = "HH:mm:ss" My.Application.Culture.DateTimeFormat.ShortTimePattern = "HH:mm:ss" End Sub End Class