0

这不应该很好吗?

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 小时。:/

4

3 回答 3

0

CursorIndexOutOfBoundException 意味着您要么忘记打电话,moveToFirst() 要么确实打电话moveToFirst()但您没有检查其结果(即光标为空)...

于 2013-01-14T19:09:04.227 回答
0

你需要打电话给moveToFirst

if(cursor.moveToFirst()) {  // returns false if no results
  // do stuff here
}
于 2013-01-14T19:09:47.743 回答
0

使用检查游标计数是个好主意cursor.getCount(),如果计数> 0,则执行moveToFirst,然后尝试使用cursor.getString(1)

于 2013-01-14T19:11:58.680 回答