Android アプリケーションで SQLite を使用しています。これは、4 つの列を持つテーブルで構成されます。最初の列は「id」(整数) で、最後の列は AppName (文字列) です。特定の ID を指定してデータベースから値を取得しようとすると、正常に実行されます。ただし、AppName を指定してデータベースから値を取得しようとすると、機能せず、例外が発生します。
以下は、例外が発生する 2 番目のケースで使用する関数のコードです。
@Override
public NameVO getAppInfo(String appName) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[] { KEY_ID,
KEY_ENERGY, KEY_CPU, KEY_APPNAME }, KEY_APPNAME + "=?",
new String[] {appName} , null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
NameVO nameVO = new NameVO(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3));
// return nameVO
return nameVO;
}
私が得る例外は次のとおりです。
E/AndroidRuntime(14852): android.database.CursorIndexOutOfBoundsException: サイズ 0 のインデックス 0 が要求されました
これを機能させる方法はありますか?
前もって感謝します