2

dan == table_column_one および vrijeme == table_column_two であるデータベースから ID 値を返す必要があります。これを行う方法がわかりません。

public static int returnID(String dan, int vrijeme){
        Cursor cursor;
        int IDRQ;
        cursor = db.query
                (
                        TABLE_NAME,
                        new String[] { TABLE_COLUMN_ID, TABLE_COLUMN_ONE, TABLE_COLUMN_TWO },                       
                        new String[] {TABLE_COLUMN_ONE + " like " + "'%" + dan + "%'", TABLE_COLUMN_TWO + " like " + "'%" + vrijeme + "%'"}, null, null, null, null
                );  
        cursor.moveToFirst();           
        IDRQ = cursor.getInt(0);
        return IDRQ;
    }   );  

これは私が試した方法ですが、もちろん間違っています。

4

1 に答える 1

9

SQLiteDatabase.query() では、選択は 2 つの部分で行われます。where 句 (a String) と whereArgs (の配列String)。

複数の条件を where 句に追加するには、 JavaのANDorORと同じように&&orを使用できます。||

where 句の疑問符は、whereArgs 配列の文字列の 1 つにバインドされています。

cursor = db.query(TABLE_NAME, new String[] { TABLE_COLUMN_ID, TABLE_COLUMN_ONE, TABLE_COLUMN_TWO },
TABLE_COLUMN_ONE + " LIKE ? AND " + TABLE_COLUMN_TWO + " LIKE ?",                           
new String[] {"%" + dan + "%", "%" + vrijeme + "%"},
null, null, null, null);
于 2013-03-24T03:14:39.697 に答える