Android SQLite查询位置和位置

时间:2013-03-24 03:05:35

标签: android sqlite cursor where

我需要从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;
    }   );  

这就是我尝试的方式,但当然是错误的。

1 个答案:

答案 0 :(得分:9)

在SQLiteDatabase.query()中,选择分为两部分。 where子句(a String)和whereArgs(String数组)。

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

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);