我正在尝试从数据库的某一行中获取文本。为此,我做了这个功能
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;
}
我这样称呼它:
db = new DbAdapter(this);
db.createDatabase();
db.openDataBase();
String str = db.getTranslation(1706);
我的桌子看起来像这样:
我收到此错误:
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)
为什么我会收到此错误?我在这里做错了什么?
提前致谢。