2016-12-15 66 views
0

我想我的數據庫查詢這個樣子的:的SQLite Android的方法更新

UPDATE table_name SET salary = salary + cash WHERE id_wallet = id_wallet2 

現金和id_wallet2-的方法

我寫這個方法來發送。但方法改變工資,不要承擔額外的錢。你有什麼想法如何做到這一點?

public void AddCashWallet(int id_wallet, double cash){ 
    ContentValues contentValues1 = new ContentValues(); 
    ContentValues contentValues2 = new ContentValues(); 
    contentValues2.put(Wallets.COLUMNS.id_walllet, id_wallet); 
    contentValues1.put(Wallets.COLUMNS.currency_cash,cash); 
    DbHelper.getWritableDatabase().update(Wallets.TABLE_NAME,contentValues1,""+contentValues2,null); 
} 

但我想我的查詢是這樣的:UPDATE table_name SET salary = salary + cash WHERE id_wallet = id_wallet2在這一刻的樣子:UPDATE table_name SET salary = cash WHERE id_wallet = id_wallet2

+0

這是'INSERT'所以它的'add',不'update'。你可能想糾正你的標題 –

回答

-1

這不是如何更新。

ContentValues contentValues = new ContentValues(); 
contentValues.put(Wallets.COLUMNS.currency_cash,cash); 

String selection = Wallets.COLUMNS.id_walllet + " = ?"; 
String[] selectionArgs = { String.valueOf(id_wallet) }; 

DbHelper.getWritableDatabase().update(
    Wallets.TABLE_NAME,contentValues,selection,selectionArgs); 

} 

https://developer.android.com/training/basics/data-storage/databases.html

https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

+0

好的。但是我希望我的查詢看起來像這樣:UPDATE table_name SET salary = salary + cash WHERE id_wallet = id_wallet2在這一刻看起來像:UPDATE table_name SET salary = cash WHERE id_wallet = id_wallet2 – Adrien

+0

用原始SQL做這件事可能會更好。 – nasch