簡體   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