2012-02-15 3 views
0

Я использую следующий код для вставки строки со столбцом временных меток в SQLite базы данных:Вставка метки времени в SQLite остается нулевой

ContentValues contentValues = new ContentValues(); 
contentValues.put(LAST_UPDATE, "15-02-2012 11:27:42"); 
database.insert(TABLE_NAME, null, contentValues); 

Когда я проверяю таблицу после этого, столбец с отметкой времени (определяется как timestamp not null) всегда null. Другие столбцы (не показаны в образце кода) в порядке. Есть идеи?

+0

Я думаю, что формат для datetime должен быть «ГГГГ-ММ-ДД ЧЧ: ММ: СС», вы используете «ДД-ММ-ГГГГ ЧЧ: ММ: СС». Попытайтесь изменить его, посмотрите, работает ли он. Также .. вы настройки 'contentValues', но затем используя' initialValues' для 'INSERT' – SERPRO

+0

Изменение формата даты не приводит к изменению результата. «InitialValues» был опечаткой. –

ответ

0

вы должны использовать следующий формат даты для вставки даты/времени в SQLite:

DateFormat dateFormatISO8601 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

и извлечения в строке, как показано ниже:

String crntDate = dateFormatISO8601.format(new Date()); 

P.S. Убедитесь, что ваша колонка имеет тип DATETIME

+0

Я переключил тип столбца на 'datetime', теперь он работает. Я действительно думал, что раньше использовал «timestamp». –

+0

Я думаю, что временная метка имеет другой формат, но во всяком случае, хорошо знать, что это помогло вам :) – waqaslam

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