Преобразование MySQL DATETIME в System.DateTime - PullRequest
3 голосов
/ 22 октября 2009

Я использую базу данных MySQL с DbLinq , но возникает исключение:

"Невозможно преобразовать дату и время mysql в System.DateTime "

Как мне решить эту проблему?

Ответы [ 4 ]

5 голосов
/ 23 августа 2011

Проверка на любую нулевую дату означает дату как '0000-00-00' в базе данных; это может быть причиной ошибки.

2 голосов
/ 28 декабря 2009
1 голос
/ 05 апреля 2011

Я перемещал столбец в моем gridview из asp: BoundField в asp: TemplateField, поэтому пришлось явно отображать дату из базы данных MySQL. Через размышление я обнаружил, что в коллекции поля даты указываются как MySqlDateTime, а не system.DateTime.

Я добавил оператор импорта MySql.Data.Types к коду позади и следующий оператор Eval в метке в контексте вида сетки.

Text = '<% # CType (Eval ("Submitted_Date"), MySql.Data.Types.MySqlDateTime) .ToString%>'

выходной формат: 02/23/2011

Надеюсь, это поможет!

1 голос
/ 22 октября 2009

Ну, если у вас есть набор результатов, содержащий значения MySql DateTime, вы можете использовать метод ConvertAll вместе с делегатом, используя DateTime.Parse для создания коллекции System.DateTime значений.

Вот пример, где «results» - это результат вашего запроса к dblinq, содержащий значения даты и времени MySQL:

List<DateTime> dateTimes = results.ConvertAll(delegate(string time){ 
   return DateTime.Parse(time); 
});

Это то, что вы ищете?

...