I am getting this error which I'm got stuck up
java.lang.IllegalStateException: Couldn't read row 0, col 3 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
Code
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
// db.execSQL("DROP TABLE IF EXISTS " + TABLE_USER);
db.execSQL("DROP TABLE IF EXISTS actselflocaldb ");
// Create tables again
onCreate(db);
}
/**
* All CRUD(Create, Read, Update, Delete) Operations
*/
// Adding new contact
void addContact(User user) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_USERNAME, user.getUname().toString());
values.put(KEY_FIRSTNAME, user.getFirstname().toString());
values.put(KEY_LOCATION, user.getLoc().toString());
values.put(KEY_DEVICEID, user.getCheckSum().toString());
values.put(KEY_CHECKSUM, user.getDevId().toString());
// Inserting Row
/*db.insert(TABLE_USER, null, values);*/
db.insert("actselflocaldb", null, values);
db.close(); // Closing database connection
}
// Getting single contact
/*User getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_USER, new String[] { KEY_PH_NO,
KEY_COUNTRY, KEY_PH_NO, KEY_REALNAME,KEY_NICKNAME }, KEY_PH_NO + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
Cursor cursor = db.query("actselflocaldb", new String[] { KEY_PH_NO,
KEY_COUNTRY, KEY_PH_NO, KEY_REALNAME,KEY_NICKNAME }, KEY_PH_NO + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
User user = new User(cursor.getString(0));
return user;
}*/
// Getting All Contacts
public List<User> getAllContacts() {
List<User> userList = new ArrayList<User>();
// Select All Query
String selectQuery = "SELECT * FROM actselflocaldb" ;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
User user = new User();
user.setUname(cursor.getString(0));
user.setLoc(cursor.getString(1));
user.setFirstname(cursor.getString(2));
user.setCheckSum(cursor.getString(3));
user.setDevId(cursor.getString(4));
// Adding contact to list
userList.add(user);
} while (cursor.moveToNext());
}
db.close();
// return contact list
return userList;
}
I have updated to colums in the application from that I am getting this error. what is the problem? I have traced above error in the stack trace.
Please help me some one to get out of the hell.
Aucun commentaire:
Enregistrer un commentaire