如何使用 SQL 数据库在 Android Studio 中搜索 table 的所有列

How can I search all columns of a table in Android Studio using SQL database

我有一个 Android 应用程序,其中的 SQL 数据库有 4 列。我想搜索数据库中的所有 4 列,但我只能搜索 1 列。 我不太确定如何让它搜索所有 4 列。

显示了所有 4 列,但我只能搜索一列。我似乎无法搜索所有 4 列。

我用来让它搜索一列的代码是

@SuppressLint("Range")
    public List<Data> getDataByVARIETY (String VARIETY) {
        variety = VARIETY;
        SQLiteDatabase db = getReadableDatabase();
        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

        String[] sqlSelect = {"VARIETY", "COMMODITY", "PLU", "BOTANICAL"};
        String tableName = "data";

        qb.setTables(tableName);
        //This will query : Select * from Data where Variety %PATTERN%"
        Cursor cursor = qb.query(db, sqlSelect, "VARIETY LIKE ?", new String[]{"%" + VARIETY + "%"}, null, null, null);
        List<Data> result = new ArrayList<>();
        if (cursor.moveToFirst()) {
            do {
                Data data = new Data();
                data.setCOMMODITY(cursor.getString(cursor.getColumnIndex("COMMODITY")));
                data.setVARIETY(cursor.getString(cursor.getColumnIndex("VARIETY")));
                data.setPLU(cursor.getString(cursor.getColumnIndex("PLU")));
                data.setBOTANICAL(cursor.getString(cursor.getColumnIndex("BOTANICAL")));

                result.add(data);
            } while (cursor.moveToNext());
        }
        return result;
}

所以我所要做的就是 改变这个

 qb.setTables(tableName);
        //This will query : Select * from Data where Variety %PATTERN%"
        Cursor cursor = qb.query(db, sqlSelect, "VARIETY LIKE ?", new String[]{"%" + VARIETY + "%"}, null, null, null);

至此

qb.setTables(tableName);
        //This will query : Select * from Data where Variety %PATTERN%"
        String conditions = "COMMODITY LIKE ? OR PLU LIKE ? OR VARIETY LIKE ?";
        String par;
        par = "%"+COMMODITY+"%";
        Cursor cursor = db.query(tableName, sqlSelect, conditions, new String[]{par, par, par}, null, null, null);