0

以下のコードを使用すると、行に単一の文字列 (文字列 a) が含まれているかどうかを確認できますが、行がいずれかの文字列 (文字列 a または b) と等しいかどうかを確認するにはどうすればよいですか?

public Cursor fetchMyList() {
        String[] columns = { KEY_ROWID, KEY_CATEGORY, KEY_SUMMARY,
                KEY_DESCRIPTION, KEY_EMAIL };
        String selection = "description=?";
        String a = "blue";
                String b = "red";

        String[] selectionArgs = { a };
               // String[] selectionArgs = { a , b}; ///tried this dont work!!
        Cursor cursor = null;
        try {
            cursor = database.query(DATABASE_TABLE, columns, selection,
                    selectionArgs, null, null, null);
        } catch (Exception e) {
            e.printStackTrace();
        }
        int numberOfRows = cursor.getCount();
        if (numberOfRows <= 0) {
            return cursor;
        }
        return cursor;
    }
4

1 に答える 1

0

2 つの引数を宣言する場合は、2 つの引数しか渡すことができません。これはあなたが望むものです:

String selection = "description=? OR description=?"; // Select rows with either description
String[] selectionArgs = {a , b};

SQL 言語を確認することを強くお勧めします。

PS: キャッチしないでくださいException。後で後悔するでしょう。特定の例外の子をキャッチします。あなたの場合、あなたはキャッチしたいですSQLException

PS2:Logの代わりに使用しprintStackTrace()ます。

于 2013-01-23T18:42:59.207 に答える