2016-12-15 68 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