Java SQLITE数据库查询

Java SQLITE数据库查询,java,android,mysql,sql,sqlite,Java,Android,Mysql,Sql,Sqlite,我的数据库id、message和message status中有三列,我只想从列表中选择消息状态为“r”的行,并且只想从查询中返回游标以查找id和message。我是数据库新手,请帮忙。 选择所有行的当前代码为: private String[] allColumns = { MySQLiteHelper.COLUMN_ID,MySQLiteHelper.COLUMN_MESSAGE }; public List<Message> getAllMessages() { Li

我的数据库id、message和message status中有三列,我只想从列表中选择消息状态为“r”的行,并且只想从查询中返回游标以查找id和message。我是数据库新手,请帮忙。 选择所有行的当前代码为:

private String[] allColumns = { MySQLiteHelper.COLUMN_ID,MySQLiteHelper.COLUMN_MESSAGE };

public List<Message> getAllMessages() {
    List<Message> message = new ArrayList<Message>();

    Cursor cursor = database.query(MySQLiteHelper.TABLE_NAME,allColumns, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
      Message message1 = cursorToMessage(cursor);
      message.add(message1);
      cursor.moveToNext();
    }
    // Make sure to close the cursor
    cursor.close();
    return message;
  }
private String[]allColumns={MySQLiteHelper.COLUMN\u ID,MySQLiteHelper.COLUMN\u MESSAGE};
公共列表getAllMessages(){
列表消息=新建ArrayList();
Cursor Cursor=database.query(MySQLiteHelper.TABLE_NAME,allColumns,null,null,null,null);
cursor.moveToFirst();
而(!cursor.isAfterLast()){
消息message1=游标消息(游标);
message.add(message1);
cursor.moveToNext();
}
//确保关闭光标
cursor.close();
返回消息;
}

您需要在查询中传递Where子句。它是
query()
的第四个参数。它需要一个
字符串
,您不应该在其中包含Sqlite3关键字(Android会为您这样做)。该子句的结构类似于MySQLiteHelper.COLUMN\u MESSAGE+“=”+“r”

请尝试以下代码

public static final String KEY_ROWID = "row";
public static final String KEY_NAME = "name";

public Cursor fetchNamesByConstraint(String filter) {
    Cursor cursor = mDb.query(true, DATABASE_NAMES_TABLE, null, "row LIKE '%" + filter + "%' or name LIKE '%" + filter + "%'",null, null, null, null);
}
public static final String KEY_ROWID = "row";
public static final String KEY_NAME = "name";

public Cursor fetchNamesByConstraint(String filter) {
    Cursor cursor = mDb.query(true, DATABASE_NAMES_TABLE, null, "row LIKE '%" + filter + "%' or name LIKE '%" + filter + "%'",null, null, null, null);
}