Невозможно преобразовать значение даты/времени MySQL в систему.значение datetime


Я получаю эту ошибку:

невозможно преобразовать значение даты/времени MySQL в систему.DateTime

пока я пытаюсь извлечь данные из базы данных MySQL. У меня есть дата тип данных в моей базе данных MySQL. Но при извлечении его в мой datatable, он получает ошибку выше.

Как я могу это исправить?

8 69

8 ответов:

Если я google для " невозможно преобразовать значение даты/времени MySQL в систему.DateTime " я вижу многочисленные ссылки на проблему доступа к MySQL из Visual Studio. Это ваш контекст?

одно из предложенных решений:

Это не ошибка, но ожидается поведение. Пожалуйста, проверьте руководство ниже подключите параметры и установите "разрешить ноль Датавремя" на истинную, как на прикрепленной фотографии,и ошибка исчезнет.

ссылка: http://bugs.mysql.com/bug.php?id=26054

вы должны добавить Convert Zero Datetime=True в строку подключения, например:

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

я добавил Как Convert Zero Datetime=True & Allow Zero Datetime=True и

потяните значение datetime вниз в виде строки и сделайте DateTime.ParseExact(value, "ddd MMM dd hh:mm:ss yyyy", culture, styles); вам просто нужно будет установить формат даты для даты, которую вы возвращаете из базы данных. Скорее всего это yyyy-MM-dd HH:mm:ss. По крайней мере, для меня.

проверьте здесь больше информации о DateTime.ParseExact

пусть MySql преобразует вашу метку времени unix в строку. Используйте функцию mysql FROM_UNIXTIME (113283901 )

Я также столкнулся с той же проблемой, и получить имя столбца и его типы. Затем приведите (col_Name как Char) из имени таблицы. Таким образом, я получаю проблему как "0000-00-00 00:00:00", затем я обновляю как действительную дату и время, когда ошибка уходит для моего случая.

вы можете сделать приложение полностью совместимым с датой и временем, которое используется MySql. Когда приложение запускается во время выполнения, предоставьте этот код. Сначала перейдите к событиям приложения. В списке инструментов

  1. перейти к проекту
  2. Свойства Проекта
  3. выберите вкладку Приложения
  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

вместо изменения строки подключения, вы можете использовать IsValidDateTime свойства