如何在ContentValues中使用SQLite的内置函数?

时间:2017-06-23 13:35:47

标签: android sqlite

我想在我的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函数来插入数据?

1 个答案:

答案 0 :(得分:2)

  

我该如何解决这个问题?

请勿使用insert()。使用execSQL()

  

有没有办法可以使用内置的SQLite函数和ContentValue对象来插入数据?

不,抱歉。