2012-12-07 103 views
0

任何人都可以看到爲什麼這不起作用。我試圖向表中添加一個簡單的行,然後確認它已正確添加。當我試圖查詢表時,我的程序崩潰。我的頭因久久盯着這個而感到痛苦。SQLite無法驗證插入

addNewGame(1); 

Cursor cursor2 = db.query(myDBOpenHelper.GAMES_TABLE, new String [] {"MAX("+GAME_COLUMN+") AS GC"}, null, null, null, null, null); 
System.err.println("made it this far");  
String temp = cursor2.getString(cursor.getColumnIndex("GC")); //crash!!! 
System.err.println("didn't get here); 


private static void addNewGame(int g) { 
     ContentValues newValues = new ContentValues(); 
    SQLiteDatabase db = DBOpenHelper.getWritableDatabase(); 
    newValues.put(GAME_COLUMN, g); 
    newValues.put(CIV_COLUMN, ""); 
    db.insert(myDBOpenHelper.GAMES_TABLE, null, newValues); 
} 

螺紋與未捕獲的異常

同樣離開,這裏是從表中創建其中代碼:

private static final String GAMES_CREATE = "create table " + 
      GAMES_TABLE + " (" + KEY_ID + 
      " integer primary key autoincrement, " + 
      GAME_COLUMN + " text not null, " + 
      CIV_COLUMN + " text);"; 
db.execSQL(GAMES_CREATE); 

回答

1

就沒有檢查this.that光標會空值? 只是試試這個代碼。

if(cursor2.getcount>0) 
{ 
cursor2.moveTofirst(); 
String temp = cursor2.getString(cursor.getColumnIndex("GC")); 
} 

試試這是它的工作。

+0

工作正常!我不明白爲什麼當我插入記錄時我不得不檢查空遊標,但在這一點上我不在乎。如果我能給你1000000 + 1的話,我會的。非常感謝! – Alex

+0

大多數WelCome親愛的。 –