我試圖從遊標插入數據到我的數據庫,但出現錯誤。向數據庫插入值時出現遊標越界異常 - Android
這是我做的 -
Cursor getUserDrinks = myDbHelper.getUserDrinks();
if(getUserDrinks != null)
{
if (getUserDrinks.moveToFirst()){
do{
ContentValues initialValues = new ContentValues();
initialValues.put("code", getUserDrinks.getInt(getUserDrinks.getColumnIndex("code")));
initialValues.put("imgstr", getUserDrinks.getString(getUserDrinks.getColumnIndex("imgstr")));
initialValues.put("name", getUserDrinks.getString(getUserDrinks.getColumnIndex("name")));
initialValues.put("alc", getUserDrinks.getDouble(getUserDrinks.getColumnIndex("alc")));
initialValues.put("user", 1);
try {
myDataBase.beginTransaction();
myDataBase.insert("drinks", null, initialValues);
myDataBase.setTransactionSuccessful();
}
finally {
myDataBase.endTransaction();
}
}while(getUserDrinks.moveToNext());
}
}
但它給了我一個CursorIndexOutOfBoundsException。這裏的日誌 -
04-30 13:22:35.363: ERROR/AndroidRuntime(19161): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.alco/android.alco.main}: android.database.CursorIndexOutOfBoundsException: Index 2 requested, with a size of 2
我知道光標不是空的。
我在做什麼錯?
出於某種原因,它不承認Java代碼。希望有人能爲我解決這個問題,因爲我無法做到。謝謝! – Tofira 2011-04-30 10:39:56
如果您想要將文本視爲代碼,您必須在每行的開頭放置四個空格。 – Malcolm 2011-04-30 10:48:40