Eman87 Eman87 - 5 months ago 22
Android Question

Couldn't read row 0, col -1 from CursorWindow

I'm trying to get records in my table. I'm using this code

if(c!=null){
if(c.moveToFirst()) {

String tipId = c.getString(c.getColumnIndex(DAO.TIP_ID)).toString().trim();
System.out.println("tipId: "+ tipId);

}else{
// Handle no rows returned
System.out.println("Handle no rows returned");
}
}else{
System.out.println("debug Cursor , cannot be created");
}


But it gives me the following exception

Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.


and it refers to that line:

String tipId = c.getString(c.getColumnIndex(DAO.TIP_ID)).toString().trim();


hope anyone helps me to fix this.
Thanks in advance.

Answer

In your code

  c.getColumnIndex(DAO.TIP_ID)

is returning -1. This means value of DAO.TIP_ID doesnot match with any column name of table .Check if this value is correct and matches with a column name of the table you are accessing

add following line before the line which causes problem and post the Logcat output here

 Log.v("out-data",DAO.TIP_ID+" "+c.getColumnIndex(DAO.TIP_ID)+" "+c.getColumnName(0));

(add import statement import android.util.Log; in beginning of your code)