Reputation: 125
Failed to read row 0 , Column -1 From a cursor window in Sqlite database
I used this code .
public Misc fetchmiscdetails(Context aContext,
String acityName, String aLangName) {
Misc miscobj = null;
Cursor cursor = null;
String where;
try {
String sqlTables = "misc";
where ="Select * from misc ";
cursor = db.rawQuery(where, null);
// if (aLangName.equals("English"))
// where = "city_name = ?";
// else
// where = "city_name_ger = ?";
qb.setTables(sqlTables);
// cursor = qb.query(db, null, where, new String[] { acityName}, null, null, null);
if (cursor.getCount() > 0) {
cursor.moveToFirst();
do {
miscobj = new Misc(
cursor.getString(cursor.getColumnIndex("_id")),
cursor.getString(cursor.getColumnIndex("city_id")),
cursor.getString(cursor.getColumnIndex("countyr_id")),
cursor.getString(cursor.getColumnIndex("city_name")),
cursor.getString(cursor.getColumnIndex("city_name_ger")),
cursor.getString(cursor.getColumnIndex("city_lat")),
cursor.getString(cursor.getColumnIndex("city_long")),
cursor.getString(cursor.getColumnIndex("city_population")),
cursor.getString(cursor.getColumnIndex("city_timezone")),
cursor.getString(cursor.getColumnIndex("city_gmt")),
cursor.getString(cursor.getColumnIndex("city_dst")),
cursor.getString(cursor.getColumnIndex("city_lat_long")),
cursor.getString(cursor.getColumnIndex("city_category")),
cursor.getString(cursor.getColumnIndex("city_text")),
cursor.getString(cursor.getColumnIndex("city_rowoffset")),
cursor.getString(cursor.getColumnIndex("city_value"))
);
} while (cursor.moveToNext());
}
return miscobj;
} catch (Exception e) {
return miscobj;
} finally {
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
}
}
Upvotes: 3
Views: 3139
Reputation: 13520
This happens when you try to get value from the Cursor
for a column which either does not exist or was not included in the Select
query.
Since you are selecting all the columns it is most likely that you made a spelling mistake in one of the column names.
Most likely
cursor.getString(cursor.getColumnIndex("countyr_id"))
Compare all the column names in the method to the names that you use in your Create
statement for misc
table.
Upvotes: 5