繁体   English   中英

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

[英]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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM