2015-11-18 3 views
1

Запуск команды select в SQLite db имеет столбец DATETIME'datatype. Когда я заполняю DataTable с адаптером «Строка не был признан действительным» происходит исключение .. здесь код:Исключение недопустимого формата даты в SqliteDataAdapter

DataTable dt = new DataTable(); 

string query = "select * from books" 
cmd.CommandText = query; 
SqliteDataAdapter da = new SqliteDataAdapter(); 
da.SelectCommand = cmd; 
da.Fill(dt);//exception throws on this line 

Мой формат даты в БД ДД/ММ/ГГГГ ЧЧ: мм: сс, сервер, который работает программа : MM/dd/yyyy HH: mm: ss
Поэтому я предполагаю, что это вызывает ошибку. правильно ? как я могу просто сказать, чтобы заполнить адаптером dt текущим форматом даты, игнорировать игнорировать сервер.

+0

самого Sqlite не имеет типа данных для 'DateTime' они все строки. Вероятно, у вас есть некорректная дата в ваших данных, а 'SqliteDataAdapter' пытается преобразовать все строки на дату и сбой. Попробуйте 'SELECT * из BOOKS limit 1;', чтобы убедиться, что вы получаете одну запись в 'DataTable' – Habib

ответ

0

Вы можете попробовать добавить параметр "datetimeformat" в строку подключения и изменить формат даты. Измените параметр datetimeformat на текущую культуру.

datetimeformat=CurrentCulture 

дата по умолчанию является ISO8601

Смежные вопросы