Я использую базу данных MySQL с DbLinq, но есть исключение бросают:Преобразование MySQL DATETIME в System.DateTime
"Не удается преобразовать MySQL DateTime в System.DateTime"
Как я могу решить эту проблему?
Я использую базу данных MySQL с DbLinq, но есть исключение бросают:Преобразование MySQL DATETIME в System.DateTime
"Не удается преобразовать MySQL DateTime в System.DateTime"
Как я могу решить эту проблему?
Ну, если у вас есть результирующий набор, содержащий DateTime
значения MySql, вы можете использовать метод ConvertAll
вместе с делегатом, используя DateTime.Parse
создать коллекцию System.DateTime
значений.
Вот пример, где «результаты» является результатом вашего запроса, содержащего dblinq значений даты и времени MySQL:
List<DateTime> dateTimes = results.ConvertAll(delegate(string time){
return DateTime.Parse(time);
});
Это то, что вы ищете?
Я двигался колонка в моей GridView из осины: BoundField к Asp: TemplateField так должны были отобразить дату из базы данных MySQL в явном виде. Я нашел через отражение, что коллекция набрала поля даты как MySqlDateTime, а не system.DateTime.
Я добавил операцию импорта MySql.Data.Types в код позади и следующий оператор Eval в метке в контексте gridview.
Текст = '<% # CType (Eval ("Submitted_Date"), MySql.Data.Types.MySqlDateTime) .ToString%>' формат
выход: 02/23/2011
надежда, что помогает!
Проверьте, не указана нулевая дата, например, '0000-00-00' в базе; Это может быть причиной ошибки.
Как вы теперь его кастинг/преобразование? – Ariel
Является ли дата MySql временной отметкой unix? –