这不应该没用吗?
Cursor cursor = ourDatabase.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE " + KEY_NAME + " = \'chaman\'",, null);
我不知道但是当我尝试拨打
时出现错误cursor.getString(1);
它说 CursorIndexOutofBoundsException
我使用
创建了我的表格db.execSQL("CREATE VIRTUAL TABLE " + DATABASE_TABLE
+ " USING fts3 (" + KEY_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME
+ " TEXT NOT NULL, " + KEY_ADDRESS
+ " TEXT NOT NULL, " + KEY_CONTACT + " TEXT NOT NULL, "
+ KEY_BALANCE + " DOUBLE);");
&安培; 我确信chaman存在于我的表中,因为我可以在我的数据库中查看它。
怎么了?请帮帮我。我被困在这里过了1个小时。 :/
答案 0 :(得分:0)
CursorIndexOutOfBoundException表示您忘记调用moveToFirst()
或调用了moveToFirst()
,但未检查其结果(即Cursor为空)...
答案 1 :(得分:0)
您需要拨打moveToFirst
if(cursor.moveToFirst()) { // returns false if no results
// do stuff here
}
答案 2 :(得分:0)
最好使用cursor.getCount()
检查光标计数,如果计数> 0,然后执行moveToFirst
,然后尝试使用cursor.getString(1)