jeudi 9 avril 2015

Table not updating on update though returning the opposite

I have a problem where my sqlite table "views" doesn't update upon a update query.


The views table is constructed as follows, my two foreign keys making up for the identifying primary key:



CREATE TABLE views
(description TEXT,
modulesId INTEGER NOT NULL REFERENCES modules(modulesId),
eventId INTEGER NOT NULL REFERENCES events(eventId),
PRIMARY KEY (modulesId, eventId));


Using the following code I attempt, and it would appear, succeed in updating the table, as the returned integer takes the result of 1.



private SQLiteDatabase database;

public void updateViews(String description, int modulesId, int eventId) {
ContentValues values = new ContentValues();
values.put(MyDatabaseManager.VIEWS_DESCRIPTION, description);
String where = "modulesId = " + modulesId + " AND eventId = " + eventId;

int i = database.update(MyDatabaseManager.TABLE_VIEWS, values, where, null);
}


So. int i is returned a 1, indicating that my row is indeed updated. However as I attempt to retrieve the rows I find that the description of the supposedly updated row is still null.



public List<Views> getAllViews() {
List<Views> views = new ArrayList<Views>();
Cursor cursor = database.query(MyDatabaseManager.TABLE_VIEWS, allViewsColumns, null, null, null, null, null);

cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Views view = cursorToView(cursor);
views.add(view);
cursor.moveToNext();
}
cursor.close();
return views;
}


This is true without closing the application.


I have no visible errors in my code, and nor do I seem to be able to make out much of my logcat. Which leads me to believe I have done something fundamentally wrong somewhere in my code. Most likely in code that I haven't posted, but perhaps you can make out where I might have gone wrong.


I am not very proficient at programming but I will do my best to follow any help that I get. Thanks!


Aucun commentaire:

Enregistrer un commentaire