我搜索了周圍的堆棧溢出,並找不到解決方案。 這是我用於SQLite的onCreate代碼。Android - SQLite的AUTOINCREMENT不增加主鍵
public void onCreate(SQLiteDatabase database) {
String query = "CREATE TABLE cards (cardID INTEGER PRIMARY KEY AUTOINCREMENT, question VARCHAR, answer VARCHAR, subject VARCHAR)";
database.execSQL(query);
}
我用它來從適配器(DBTool中)插入
public void insertCard(HashMap<String, String> queryValues) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("question", queryValues.get("question"));
values.put("answer", queryValues.get("answer"));
values.put("subject", queryValues.get("subject"));
database.insert("cards", null, values);
database.close();
}
這是我將數據插入到數據庫的方式。
HashMap<String, String> Values = new HashMap<String, String>();
Values.put("question", newQuestion);
Values.put("answer", newAnswer);
Values.put("subject", newSubject);
dbTools.insertCard(Values);
其中newQuestion,newAnswer和newSubject是定義來自edittext字段的用戶輸入的變量。
當我通過調用toast來檢查數據庫時,插入的所有內容都將被插入,但插入的cardID爲null。 懷疑我的烤麪包檢查,我下載了一個數據庫查看器,並發現cardID爲空。
有什麼建議嗎?
任何理由? –
仍然給出null作爲結果。 –
@MD看看這個鏈接 http://sqlite.org/autoinc.html –