我想在我的Android代码中使用SQLite的内置函数datetime('now','localtime')将日期保存在TEXT类型的数据库字段中。我已经能够在sqlite3终端中执行此操作,如下所示:
sqlite> INSERT INTO test (Name, NO, date) VALUES('John', 1151, datetime('now','localtime'));
sqlite> SELECT * FROM test;
John|1151|2017-06-23 17:38:29
这很好,直到我想在Android的ContentValues中使用datetime()
函数。我这样用它:
ContentValues values=new ContentValues();
values.put(Entry.NAME,nameString);
values.put(Entry.NO,noInt);
values.put(Entry.DATE,"datetime('now','localtime')");
/// ....
getContentResolver().insert(Entry.CONTENT_URI,values);
然后,我的listview显示一切正常,但是对于日期的textview,我确切地看到文本 datetime('now','localtime')
,而不是我期望在数据库中保存的日期,例如2017-06-23 17:38:29我怎么解决这个问题?有没有办法可以使用ContentValue对象的内置SQLite函数来插入数据?
答案 0 :(得分:2)
我该如何解决这个问题?
请勿使用insert()
。使用execSQL()
。
有没有办法可以使用内置的SQLite函数和ContentValue对象来插入数据?
不,抱歉。