0

AndroidではrawQuery()、テーブルの1つに対してこのクエリを実行するために使用しています。

UPDATE Icons SET position = position - 1 WHERE position <= 4 AND position > 1

後でADBでデータベースを見ると、次のような結果が表示されます。ここで、2番目の列は位置列です。

0|0
1|4
2|2
3|3
4|4
5|5
6|6
7|7
8|8
9|9
10|10
11|11
12|12
13|13
14|14

ADBで同じクエリを実行すると、1つだけではなく、すべての行が正しく更新されます

0|0
1|3
2|1
3|2
4|3
5|5
6|6
7|7
8|8
9|9
10|10
11|11
12|12
13|13
14|14

なぜこれが起こっているのか、またはどうすれば修正できるのか、何か考えはありますか?

4

1 に答える 1

2

rawQuery は更新をサポートしていません。代わりに execSQL を使用してください

于 2012-08-15T03:18:45.820 に答える