简体   繁体   English

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

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

I have an Android app with a SQL database that has 4 columns.我有一个 Android 应用程序和一个 SQL 数据库,该数据库有 4 列。 I would like to search all 4 columns in the database however I can only get 1 to be searched.我想搜索数据库中的所有 4 列,但我只能搜索 1 列。 I'm not quite sure on how to get it to search all 4 columns.我不太确定如何让它搜索所有 4 列。

All 4 Columns are displayed but I can only search one.显示所有 4 列,但我只能搜索一列。 I can not seem to get it to search all 4 columns.我似乎无法让它搜索所有 4 列。

the code I'm using to get it to search one column is我用来让它搜索一列的代码是

@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;
}

so all i had to do was change this所以我所要做的就是改变这个

 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);

to this对此

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.

相关问题 如何在 android 工作室中将 boolean 解析为我的 SQL 数据库? - How can I parse a boolean to my SQL database in android studio? 我如何在Java中的SQL数据库中使用日期来改善搜索 - how can i improve the search using date in sql database in java Android Studio(SQLite 数据库),我要在表中添加一个 LineNo,我怎样才能让它自动递增 1? - Android Studio (SQLite Database), I am gonna to add a LineNo to a table and how can I make it will auto increment by 1? 如何在java [android studio]中将所有SQL表数据插入到数组中 - How to insert all the SQL table data into an array in java [android studio] 我在哪里可以找到android studio中的数据库和表记录? - where can i find database and table records in android studio? 如何投影快速变化的数据库的所有数据库列? - How can I project all database columns of a fast changing database? 如何在不将所有表元数据拉入内存的情况下使用 jOOQ 获取特定表的列? - How can I get columns for a specific table using jOOQ without pulling all table metadata into memory? 我如何使用jTextField在数据库中搜索 - how i can search in database using jTextField 如何在 android studio 中为扫描图像创建文件路径并添加到 SQL 数据库? - How can I create a filepath for for scanned images in android studio and add to SQL database? 如何将Android Studio与本地服务器数据库SQL Server 2008连接? - How can I connect Android Studio with a local server database SQL Server 2008?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM