2011-04-15 64 views
1

我正在工作的應用程序的投票部分,我不斷收到一個異常,說我的答案2沒有找到時,將值插入到數據庫中。Android SQLite問題,列未找到

db.execSQL("UPDATE tblPoll SET Question='Who is more awesome?' WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET Answer1='Dan' WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET Answer2='Peet' WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET Answer3='Jordan' WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET Answer4='Spencer' WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET result1=0 WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET result2=0 WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET result3=0 WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET result4=0 WHERE rowid=1;"); 
    db.execSQL("UPDATE tblPoll SET resultTotal=0 WHERE rowid=1;"); 

這是我的代碼插入物品進入該行,它適用於每一個回答(團隊成員),除了皮特。我已經把皮特放在第一位,最後一位,並且作爲第二位,而他是唯一一位打破這個位置的人。

private static final String DATABASE_CREATE = 
    "CREATE TABLE tblPoll (id INTEGER PRIMARY KEY, " + 
    "Question TEXT, Answer1 TEXT, Result1 NUMERIC, " + 
    "Answer2 TEXT, Result2 NUMERIC, Answer3 TEXT, " + 
    "Result3 NUMERIC, Answer4 TEXT, Result4 NUMERIC, " + 
    "ResultTotal NUMERIC);"; 

這是我創建表的插入代碼。

任何幫助將不勝感激。

@ 2red13 我跑像你了(所有正確填寫領域,它仍然是在ANSWER2搞亂

新代碼:

ContentValues werte = new ContentValues(); 
    werte.put("Answer1", "Dan"); 
    werte.put("Answer2", "Peet"); 
    werte.put("Answer3", "Jordan"); 
    werte.put("Answer4", "Spencer"); 
    werte.put("Result1", 0); 
    werte.put("Result2", 0); 
    werte.put("Result3", 0); 
    werte.put("Result4", 0); 
    werte.put("ResultTotal", 0); 
    db.update("tblPoll", werte,"rowid=1",null); 
+0

作爲一個方面說明,你能保證你永遠不需要第五個答案? – 2011-04-15 14:17:26

回答

0

我沒有帶任何理念WHI皮特schoud失敗,但在執行更新的方法是小有一點有點慢,請嘗試:

ContentValues werte = new ContentValues(); 
werte.put("Answer1", "Dan"); 
.... 
werte.put("resultTotal", 0); 
db.update("tblPoll", werte,"rowid=1",null); 

也許它解決了皮特的問題太多^^