我在我的 Android 应用程序中使用 SQLite。它由一个包含 4 列的表组成 - 第一个是“id”(整数),最后一个是 AppName(字符串)。当我尝试通过提供特定 id 从数据库中检索值时,它已成功完成。但是,当我尝试通过提供 AppName 从数据库中检索值时,它不起作用并给了我一个异常。
以下是我用于出现异常的第二种情况的函数代码:
@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
你知道如何让它工作吗?
提前致谢