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.
The query
selection
does not contain the columnDAO.TIP_ID
.You should fix this to solve this error message
it works in my code.
Try to position cursor by
moveToFirst
before reading data from it.check for
null
. e,g;if (c != null && c.moveToFirst()) {}
check for count. e,g;
(c != null && c.getCount() >0 && c.moveToFirst()){}
In your code
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
(add import statement import android.util.Log; in beginning of your code)