亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 SQLite 中更新單行的多列?

如何在 SQLite 中更新單行的多列?

婷婷同學_ 2023-02-23 14:47:25
目前我有一個只有一行的表,我想更新該行的某些列。insert 方法被正確執行,而 update 返回一個 id = 0 并且打印用戶名始終是以前的用戶名并且沒有更新。@Overridepublic 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;    }
查看完整描述

1 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

USERNAME = name我猜您想用 values更新行w, d, l。
該方法的 3d 參數update()WHERE子句,在其中你應該只有:

USERNAME?=??

所以這樣做:

id?=?db.update(TABLE_NAME1,?values,?"USERNAME?=??",?new?String[]?{name});

這些值w, d, l不必在WHERE子句內。它們保存在變量中values并將更新表中的行。


查看完整回答
反對 回復 2023-02-23
  • 1 回答
  • 0 關注
  • 1687 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號