Кто-нибудь? пожалуйста, помогите мне разобраться в этом. Я получаю ошибку android.database.cursorindexoutofboundsexception, и я не знаю почему. Я уверен, что я правильно назвал свои столбцы, но все же получил. То, что я пытаюсь сделать, это просто получить фирменный код данного названия компании.Как исправить ошибку android.database.cursorindexoutofboundsexception?
Вот мой код моего DatabaseAdapter
public Cursor getCompanyCode(String company)
{
Cursor c = dbSqlite.query(Constants.DATABASE_TABLE_COMPANY,
new String[] { Constants.DATABASE_COLUMN_ID,
Constants.COMPANY_CODE,Constants.COMPANY_NAME},
Constants.COMPANY_CODE+" = ?",
new String[]{company}, null, null, null);
if (c != null)
{
c.moveToFirst();
}
return c;
}
и вот еще один код, чтобы получить код компании данной компании
Cursor companyCode = databaseAdapter.getCompanyCode(company);
code = companyCode.getString(companyCode.getColumnIndex(Constants.COMPANY_CODE));
и вот мой LogCat.
06-04 12:54:48.085: E/AndroidRuntime(27134): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uni.customercare/com.uni.customercare.ViewSummaryActivity}: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
Вы пытались проверить, если курсор содержит какие-либо записи (например, возвращаемое значение из moveToFirst() или GetCount())? – sandrstar
нет. Я не знаю, как это сделать. Я попытался поставить его в тост, чтобы узнать, есть ли ценность, но мое приложение рушится. – lolliloop
Попробуйте вызвать companyCode.getCount() перед getString(), чтобы убедиться, что он содержит записи. – sandrstar