sql database
文字列全体としての整数で構成される列で構成されてContact_Priority
います(つまり、1,2 ...が文字列として保存されます)。Contact_Priority
複数の数字を含む場合があります。次のクエリを使用して、特定の数を含む行数を取得しています。
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor cursor = sqLiteDatabase.query(CONTACT_TABLE, null, Contact_Priority + " =? ", new String[]{priority} , null, null, null);
int count = cursor.getCount();
データベースにはいくつかの行が存在しますが、0 を返しています。
私が入れたらCursor cursor1 = sqLiteDatabase.query(CONTACT_TABLE, null, null, null, null, null, null, null);
正しい行数を取得しています。なぜそれが機能しないのか、私はとても混乱しています。
PS -行Contact_Priority
にpriority
ある、つまりタイプミスがない。
同じ優先度を持つ行の数を知りたいだけです。
アップデート :-
それが役立つかどうかはわかりませんが、私が作成しているアプリは、特定のContact_Priority
. 私がやったことは、特定の連絡先、Contact_Priority
つまり1、2などに連絡先を追加すると、ボタンをクリックしてすべての優先度に追加できる、つまり優先度1から8には、画像でわかるように同じ連絡先がありますその上。
これは正常に実装されました。現在、優先度の連絡先を表示しているときに問題が発生していますが、奇妙なことに、特定の優先度で機能しているため、同様の連絡先をすべて設定しています。
優先度「2」のすべての連絡先を保持することを選択すると、「2」の正しい出力、つまり正しい行数が得られますが、他のすべての連絡先は 0 になります。データベースが更新され、行が更新されていることを確認しましたしかし、なぜ私が理解できない優先度が1つだけの出力を取得しているのか。
更新 2
の値は、クエリ関数が呼び出されるボタンを含むpriority
の位置によって異なります。例えば。の連絡先を他のすべての人にコピーしたとします。上の画像のように、データベースが更新されます。ボタンをクリックすると優先度がになり、2 番目の子のボタンをクリックすると優先度が続きます。奇妙な理由で、作業優先度は「2」です(「2」の連絡先をすべてにコピーしたため)。他の人にとっては機能していません。listview
onClick
priority
2
listview child 1
1
2
「優先度3」の連絡先をコピーした場合、優先度が「3」の場合にのみ機能し(つまり、リストの3番目のボタンをクリックした場合)、他の人には機能しません。
私は自分自身を明確にしたと思います。混乱させて申し訳ありませんが、このような奇妙な問題を見たことがないので、私自身が混乱しています。