Я работаю над фиктивным проектом андроида, чтобы повесить вещи. Следующая строка кода нарушает мое приложение для Android без каких-либо ошибок. Я использую Idea как IDE.Как правильно вставить значение datetime в SQLite под Android?
database.execSQL("Insert Into todos(uid, name, created_on, changed_on) values('6a7047ed-c2f9-407f-a774-1c02b0fe9caf', 'todo', DATETIME('NOW'), DATETIME('NOW'))");
Я уверен, что база данных содержит данные столбцов, и если я просто использовать:
database.execSQL("Insert Into todos(uid, name) values('6a7047ed-c2f9-407f-a774-1c02b0fe9caf', 'todo')");
приложение работает так, как надо.
Я попытался вставить даты, как это (based on answered question related to this matter):
'2012-05-25 16:52:00'
или
date('now')
Я получаю такую же аварию, без ошибок или отладки журнала.
Что мне здесь не хватает?
Обновлено
В соответствии с просьбой, код, используемый для создания таблицы базы данных.
public static final String TABLE_TODOS = "todos";
public static final String COLUMN_ID = "id";
public static final String COLUMN_UID = "uid";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_CHECKED = "checked";
public static final String COLUMN_TO_DELETE = "must_delete";
public static final String COLUMN_CHANGED_ON = "changed_on";
public static final String COLUMN_CREATED = "created_on";
private static final String DATABASE_CREATE = "create table "
+ TABLE_TODOS + "("
+ COLUMN_ID + " integer primary key autoincrement, "
+ COLUMN_UID + " varchar(50), "
+ COLUMN_NAME + " text not null, "
+ COLUMN_CHECKED + " integer default 0, "
+ COLUMN_TO_DELETE + " integer default 0, "
+ COLUMN_CHANGED_ON + " datetime "
+ COLUMN_CREATED + " datetime "
+");";
посмотреть на http://stackoverflow.com/questions/754684/how-to-insert-a-sqlite-record-with-a-datetime-set-to-now-in-android- applyatio –
Как объявляются эти столбцы при создании базы данных? Наиболее вероятный ответ заключается в том, что вы нарушаете ограничение. – Barak
@JohnBoker, я думаю, что я использую DATETIME в качестве строки с «при попрошайничестве и конце функции DATETIME», и я уже использую executeSQL вместо функции вставки Android. –