Androidアプリ開発の勉強を行っている最中です。
現在データベースの操作について学習しているのですが、データの更新を行う際、元のデータから指定した数を加減するという処理を行いたいと考えています。
execSQL()ではなく、updateを使おうと思っています。
試したこと
Kotlin
1var cash : Int = 40000 2 3val helper = DatabaseHelper(this@MainActivity) 4val db = helper.writableDatabase 5 6try { 7 db.beginTransaction() 8 val value = ContentValues() 9 value.put("remainder", "remainder - ${cash}") 10 db.update("Bank", value, "_id = ?", arrayOf("1")) 11}catch (e: Exception) { 12 db.execSQL("ROLLBACK TRANSACTION;") 13 return 14}finally { 15 db.setTransactionSuccessful() 16 db.endTransaction() 17} 18
上記のように書くと、そのままremainderカラムの中のデータが数字ではなく、文字列で**remainder - ${cash}**という風に更新されてしまいました。
Kotlin
1db.execSQL("UPDATE Bank SET remainder = remainder - ${cash} WHERE _id = 1;")
上記のように書いた時と同じような更新を行いたいのですが、KotlinでSQLiteデータベースの操作で四則演算を行うときはどうすればいいでしょうか。それとも、db.execSQL()を使ったの方がいいのでしょうか。
ご教示頂けると助かります。
回答1件
あなたの回答
tips
プレビュー