【发布时间】:2019-05-11 03:09:28
【问题描述】:
假设我有两张表来跟踪银行帐户:
Account:
------------------------------
AccountID| Account Value
------------------------------
| 0 | 1000
Transactions:
------------------------------------------------
TransactionID| Transaction Value| Paying Account
-------------------------------------------------
| 23 | -50.0 | 0
--------------------------------------------------
| 24 | -5 | 0
TransactionID=24 有更新,新值为 -10。 更新帐户价值以反映这一变化的最佳方法是什么?
我在代码中所做的是
- 有人在编辑对话框中单击确定后
- 通过添加负值来反转原始交易:
-
然后将新的交易价值应用到账户
AccountDAO acc = mDatabase.AccountDAO().getAccount(0); acc.account_value += transaction_id_24.value * -1; acc.account_value += transaction_id_24_updated.value; mDatabase.AccountDAO().updateAccount(acc);上面的方法可行,但我觉得上面有更好更自动化的方法。
有没有什么办法让数据库自动检测到某笔交易的值发生了变化,然后更新sqlite/android-room中对应的账户?
【问题讨论】:
标签: android sqlite android-sqlite android-room