目前我有一个只有一行的表,我想更新该行的某些列。insert 方法被正确执行,而 update 返回一个 id = 0 并且打印用户名始终是以前的用户名并且没有更新。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table "+TABLE_NAME1+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, USERNAME TEXT, WON INT, DRAW INT, LOST INT, CELLSNUMBER INT,RESULT INT)");
}
public boolean addUserInformation(String name, int w, int l, int d, boolean firstTime){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(USERNAME, name);
values.put(WIN, w);
values.put(LOST, l);
values.put(DRAW, d);
long id = 0;
if(firstTime == true ) {
id = db.insert(TABLE_NAME1, null, values);
}
if(firstTime == false){
id=db.update(TABLE_NAME1, values, "USERNAME = ? and WON = ? and DRAW = ? and LOST = ?",new String[] {
name,
String.valueOf(w),
String.valueOf(d),
String.valueOf(l)
});
}
if(id == -1)
return false;
else
return true;
}
月关宝盒
相关分类