我正在發現Android中的數據庫。我瞭解如何閱讀,但我沒有成功寫作。這裏是數據庫:更新數據庫android不起作用
private static final String DATABASE_CREATE = "create table lesPlats
(id integer primary key autoincrement, nom text not null, quantite integer);";
database.execSQL(DATABASE_CREATE);
我編輯:
values.put("nom", "plat1");
values.put("quantite", 0);
database.insert("lesPlats", null, values);
我想提高 「plat1」 的數量(調試版本註釋):
int n=1;
// Cursor c = database.rawQuery("SELECT * FROM lesPlats WHERE id="+n, null);
// c.moveToFirst();
// System.out.println("QUANTITY BEFORE: "+cursorToComment(c).quantite+ " (id: "+cursorToComment(c).id+")");
database.rawQuery("UPDATE lesPlats SET quantite = 1 WHERE id = " + n, null);
// c = database.rawQuery("SELECT * FROM lesPlats WHERE id="+n, null);
// c.moveToFirst();
// System.out.println("QUANTITY NEXT: "+cursorToComment(c).quantite+ " (id: "+cursorToComment(c).id+")");
與調試,我得到結果
QUANTITY BEFORE:0(id:1)
數量下一個:0(id:1)
所以在某個地方有一個錯誤。你能告訴我代碼是否好?特別這一個:
database.rawQuery("UPDATE lesPlats SET quantite = 1 WHERE id = " + n, null);
這意味着量是在ID = 1設置爲1,是嗎? 我嘗試更新,我有同樣的結果...
我忘了描述存儲在數據庫中的類:public class Comment { public long id; public String nom; public int quantite; –
不重要,你的問題是重複的。查看該帖子中的解決方案。 –
雖然,你真的不應該使用rawQuery ...看到這裏的更好的解決方案http://stackoverflow.com/q/3760774/2308683 –