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() 中,选择分为两部分。where 子句(a String)和 whereArgs(数组String)。

要向 where 子句添加多个条件,您可以使用ANDor OR,就像Java 中的&&or一样。||

where 子句中的问号绑定到 whereArgs 数组中的字符串之一。

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 回答