не удалось преобразовать дату и время MYSQL в System.Date.Time datagridview C # Fill, GetData () не удалось просмотреть [дублировать]

Это немного старо, но, возможно, кто-то найдет мое решение полезным:

// Fix IE's indexOf Array
if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (searchElement) {
        if (this == null) throw new TypeError();
        var t = Object(this);
        var len = t.length >>> 0;
        if (len === 0) return -1;
        var n = 0;
        if (arguments.length > 0) {
            n = Number(arguments[1]);
            if (n != n) n = 0;
            else if (n != 0 && n != Infinity && n != -Infinity) n = (n > 0 || -1) * Math.floor(Math.abs(n));
        }
        if (n >= len) return -1;
        var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
        for (; k < len; k++) if (k in t && t[k] === searchElement) return k;
        return -1;
    }
}
// add hasClass support
if (!Element.prototype.hasClass) {
    Element.prototype.hasClass = function (classname) {
        if (this == null) throw new TypeError();
        return this.className.split(' ').indexOf(classname) === -1 ? false : true;
    }
}
68
задан Marc Mutz - mmutz 27 June 2012 в 09:51
поделиться

7 ответов

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

Предлагаемое решение:

Это не ошибка, а ожидаемое поведение. Пожалуйста, проверьте руководство по параметрам подключения и установите для параметра «Разрешить нулевое время» значение true, как на прикрепленных изображениях, и ошибка исчезнет.

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

42
ответ дан dkretz 26 August 2018 в 19:11
поделиться

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

2
ответ дан Jakob Alexander Eichler 26 August 2018 в 19:11
поделиться

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

server=localhost;User Id=root;password=mautauaja;Persist Security Info=True;database=test;Convert Zero Datetime=True
163
ответ дан Marc Mutz - mmutz 26 August 2018 в 19:11
поделиться

Вы можете сделать приложение полностью совместимым с датой и временем, которое используется 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
1
ответ дан rmcsharry 26 August 2018 в 19:11
поделиться

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

1
ответ дан Singaravelan 26 August 2018 в 19:11
поделиться

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

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

3
ответ дан Tim Meers 26 August 2018 в 19:11
поделиться

i добавил оба Convert Zero Datetime=True & amp; Allow Zero Datetime=True, и он отлично работает

17
ответ дан urfusion 26 August 2018 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: