2013-04-11 132 views
0

因此,我再次遇到與我的Pokémon相關應用程序的數據庫內容有點問題,現在我正在重新審視應用程序開發的這一部分...一個相對較新的(可能問題所在的數據庫類幾乎是最新的[見下面提到的修復])我的eclipse項目的版本是在這裏:http://www.filehosting.org/file/details/429262/PokeUtility.zip嘗試插入SQLiteDatabase時出錯

所以,問題是,我將此代碼添加到我的mainactivity只是爲了測試,看看我是否可以把數據放在數據庫中:

DatabaseHandler db = new DatabaseHandler(this) ; 
db.addPokemon(new Pokemon(001, "Bulbasaur", "Grass", "Poison")) ; 

但是會發生什麼似乎是拋出SQLiteException像這樣(http://oi47.tinypic.com/332v49c.jpg) 它似乎是說我的數據庫中的表中沒有「type2」列? :/ 我沒有在DatabaseHandler類中設置正確的東西嗎?哦,順便說一句看到,因爲我認爲它的問題:因爲我掛一個稍微出了項目的最新版本有一個校正,使:DatabaseHandler's的onCreate應閱讀:

String CREATE_POKEMON_TABLE = "CREATE TABLE " + TABLE_POKEMON + "(" 
      + KEY_DEX_NO + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," 
      + KEY_TYPE + " TEXT," + KEY_TYPE2 + "TEXT" + ")"; 
    db.execSQL(CREATE_POKEMON_TABLE); 

我相信版本的鏈接zip文件在SQL中缺少一個逗號。

回答

0

您的問題是您的創建查詢,您在type2列後面缺少空格。其實你有這個:

+ KEY_TYPE2 + "TEXT" + ")"; 

添加空間,它應該工作(現在你需要重新創建你的數據庫)。更正的查詢:

String CREATE_POKEMON_TABLE = "CREATE TABLE " + TABLE_POKEMON + "(" 
      + KEY_DEX_NO + " INTEGER PRIMARY KEY, " 
      + KEY_NAME + " TEXT, " 
      + KEY_TYPE + " TEXT, " 
      + KEY_TYPE2 + " TEXT" + ")"; 
+0

我不確定是否有另一個問題,或者我只是沒有做一切正確的......:/你能解釋我如何重新創建數據庫? – 2013-04-11 08:30:26

+0

你還在嗎?如果沒有,其他人能否在上面的評論中回答我的問題? – 2013-04-11 08:50:28

+0

@TheIceMage unistall應用程序還包含與其相關的所有數據並重新安裝。 – Sajmon 2013-04-11 08:51:59

相關問題