2011-09-15 38 views
2

我有一個預編譯insertstatment看起來像這樣綁定日期以SQLiteStatement

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

我知道如何名稱

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

綁定但我怎麼能解決這個Date對象?

回答

2

SQLite沒有存儲分類Dates。請參閱SQLite DataTypes

我會建議是存儲您Datelong,從你的數據庫中integer列,當你從數據庫中獲取數據,你可以很容易地通過創建您的Cursor一個Date對象:

myDate=new Date(cursor.getLong(DATE_COL_INDEX)); 
1

據我所知,SQLite能夠正確地將字符串值轉換爲其類型,因此您可以簡單地使用bindString()並自己正確設置日期格式。

對我來說,以下工作:

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