Hitesh
Hitesh

Reputation: 125

Failed to read row 0 , Column -1 From a cursor window in Sqlite database

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

Answers (1)

Apoorv
Apoorv

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

Related Questions