Tôi đang cố gắng lấy văn bản từ một hàng nhất định của cơ sở dữ liệu của mình. Đối với điều này, tôi đã thực hiện chức năng nàyChỉ số CursorIndexOutOfBoundsException 0 được yêu cầu, với kích thước 0
public String getTranslation(long rowId) throws SQLException {
String str = null;
Cursor mCursor = db.query(
true, TABLE_LANGUAGE_FR, new String[] {
KEY_ID_INTERFACE_TEXT, KEY_ITEM_NAME,KEY_FORM_LABEL_ID, KEY_FORM_RANK
},
KEY_FORM_LABEL_ID + "=" + rowId, null, null, null, null, null
);
if (mCursor != null) {
mCursor.moveToFirst();
str = mCursor.getString(mCursor.getColumnIndex(KEY_ITEM_NAME));
}
return str;
}
và tôi gọi nó là như thế này:
db = new DbAdapter(this);
db.createDatabase();
db.openDataBase();
String str = db.getTranslation(1706);
bảng của tôi trông như thế này:
tôi nhận được lỗi này:
09:32:08.965 307 com.Orange ERROR AndroidRuntime Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
09:32:08.965 307 com.Orange ERROR AndroidRuntime at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
09:32:08.965 307 com.Orange ERROR AndroidRuntime at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
09:32:08.965 307 com.Orange ERROR AndroidRuntime at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
09:32:08.965 307 com.Orange ERROR AndroidRuntime at com.Orange.Database.DbAdapter.getTranslation(DbAdapter.java:141)
09:32:08.965 307 com.Orange ERROR AndroidRuntime at com.Orange.Authentication.onCreate(Authentication.java:32)
Tại sao tôi nhận được lỗi này? Tôi làm gì sai ở đây?
Xin cảm ơn trước.
Vui lòng chấp nhận câu trả lời nếu bạn có giải pháp của mình :) –