我有一個預編譯insertstatment看起來像這樣綁定日期以SQLiteStatement
this.insertStmt = this.db.compileStatement("INSERT INTO " + TABLE_NAME + " (name, date) VALUES (?, ?)");
我知道如何名稱
this.insertStmt.bindString(1, "Test");
綁定但我怎麼能解決這個Date對象?
我有一個預編譯insertstatment看起來像這樣綁定日期以SQLiteStatement
this.insertStmt = this.db.compileStatement("INSERT INTO " + TABLE_NAME + " (name, date) VALUES (?, ?)");
我知道如何名稱
this.insertStmt.bindString(1, "Test");
綁定但我怎麼能解決這個Date對象?
SQLite
沒有存儲分類Dates
。請參閱SQLite DataTypes。
我會建議是存儲您Date
爲long
,從你的數據庫中integer
列,當你從數據庫中獲取數據,你可以很容易地通過創建您的Cursor
一個Date
對象:
myDate=new Date(cursor.getLong(DATE_COL_INDEX));
據我所知,SQLite
能夠正確地將字符串值轉換爲其類型,因此您可以簡單地使用bindString()並自己正確設置日期格式。
對我來說,以下工作:
stmt.bindString(1, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(someDate));