Android SQLite查询位置和位置

use*_*779 1 sqlite android 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;
    }   );  
Run Code Online (Sandbox Code Playgroud)

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

ale*_*lex 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);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,有点复杂你不觉得吗?至少在你第一次尝试时. (3认同)