我有下載一組數據(項目和值)配對的代碼。值可以隨時間變化,所以我在我的代碼中有一個更新函數。問題是,mDb.update總是拋出一個錯誤,即使在第一次代碼成功運行並且表創建之後(我知道這是因爲稍後在應用程序中顯示的值)名稱[c]是「Android」 :SQL更新始終引發錯誤
android.database.sqlite.SQLiteException:沒有這樣的列:安卓,而編譯:UPDATE ThemeFavorites SET收藏=? WHERE Name = Android
讓我感到困惑的是,它似乎代碼正在尋找一個名爲Android的列,而不是KEY_NAME列......任何人都可以點亮一些東西嗎?
mDb.update(TABLE_THEME_FAVORITES, initialValues, KEY_NAME + "='" + names[c] + "'", null);
如果字符串是不是在它被認爲是報價:萬一
public static final String KEY_NAME = "Name";
private static final String TABLE_THEME_FAVORITES = "ThemeFavorites";
public static final String KEY_FAVORITES_VALUE = "Favorites";
public static final String KEY_USER_FAVORITE = "UserFavorite";
private static final String DATABASE_CREATE_THEME_FAVORITES = "create table " + TABLE_THEME_FAVORITES + " ("
+ KEY_ROWID + " integer primary key autoincrement, "
+ KEY_NAME + " text not null, "
+ KEY_USER_FAVORITE + " text not null, "
+ KEY_FAVORITES_VALUE + " text not null);";
原來如此!......謝謝你,我知道這是愚蠢的東西那樣。我無法弄清楚,這讓我很吃驚。 – easycheese