将日期绑定到SQLiteStatement

时间:2011-09-15 14:07:29

标签: android sqlite prepared-statement

我有一个预编译的insertstatment,看起来像这样

this.insertStmt = this.db.compileStatement("INSERT INTO " + TABLE_NAME + " (name, date) VALUES (?, ?)");

我知道如何绑定名称

this.insertStmt.bindString(1, "Test");

但是如何使用Date对象解决这个问题?

2 个答案:

答案 0 :(得分:2)

SQLite没有Dates的存储类。请参阅SQLite DataTypes

我建议您将Date long存储在数据库的integer列中,当您从数据库中获取数据时,您可以轻松创建{{1}来自Date的对象使用:

Cursor

答案 1 :(得分:2)

据我所知,SQLite能够正确地将字符串值转换为其类型,因此您可以简单地使用bindString()并自行格式化日期。

以下适用于我:

stmt.bindString(1, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(someDate));