Ответ 1
Да, я столкнулся с той же проблемой, и я нашел решение.
Прежде всего, вам нужно знать, почему это происходит.
http://www.sqlite.org/datatype3.html
**
В SQLite отсутствует класс хранения, зарезервированный для хранения дат и/или раз. Вместо этого встроенные функции даты и времени SQLite могут хранить даты и время как TEXT, REAL или INTEGER значения:
**
TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
Приложения могут выбрать сохранение дат и времени в любом из этих форматы и свободно конвертировать между форматами с использованием встроенной даты и функции времени.
Для получения дополнительных функций даты и времени вы можете увидеть эту страницу: http://www.sqlite.org/lang_datefunc.html
РЕШЕНИЕ:
Просто используйте функцию datetime, чтобы преобразовать ваше поле в допустимый формат данных .NET. Вы можете использовать любого из вышеуказанной ссылки, в моем случае я выбираю:
SELECT datetime(field) as field FROM table
СОВЕТ 1 Если ваш запрос находится в режиме просмотра, и вы не можете коснуться своего дБ, создать другое представление или что-то в этом роде, у вас небольшие проблемы, потому что проблема на стороне db, как я объяснял ранее. Таким образом, первое решение заменяет столбец datatable перед загрузкой (небольшая грязная работа). Или вы можете использовать штамп Unix в текстовом поле или любую желаемую временную метку. Но я думаю, что лучшим решением является создание вашего запроса в приложении с вашего вида:
SELECT datetime(field) as field FROM view
СОВЕТ 2
Вы можете попробовать также с администратором SQLite и играть с функциями datetime, прежде чем проверять формат.
СОВЕТ 3
Помните о своей глобализации культуры, вы можете найти проблему, если вы измените культуру. Постарайтесь выполнить свою мягкую работу только с одним и отобразить ее так, как хотите, а не по желанию культуры. В моей стране, например, мы используем этот общий формат: dd/MM/yy и боль, как точка в десятичных числах (мы используем запятую)
СОВЕТ 4
Если вы работаете с определённым мастером соединением в каком-либо отчете или сущности или что-то вроде этого, обязательно проверьте желаемый формат конверсии. Например, я использую наиболее распространенный и не проблематичный способ: ISO8601