dimanche 21 février 2016

SQLiteDatabase.query find result for multiple values in a Table

I am using the query method of SQLiteDatabase to find list of items by applying multiple filters. I want to search list which has columnJobType= columnJobTypeValue and columnName= columnValue in TableClass.TABLE_PRODUCTS. On running the code LogCat displays error: 02-22 12:11:52.306: E/SQLiteLog(21518): (1) near "GROUP": syntax error where is the problem?

I tried this:

public List<Model_BarcodeDetail> fetchBatchData(String jobId, String 
jobName, String jobType) { 

    String columnName = TableClass.COLUMN_JOB_NAME, columnValue = jobName, 
    columnJobType =  TableClass.COLUMN_JOB_TYPE
            , columnJobTypeValue = jobType;

    if (jobId.equalsIgnoreCase("")) {
        columnName = TableClass.COLUMN_JOB_NAME;
        columnValue = jobName;
        columnJobType =  TableClass.COLUMN_JOB_TYPE;
        columnJobTypeValue = jobType;
    }
    Cursor cursor = null;
    List<Model_BarcodeDetail> list = new ArrayList<Model_BarcodeDetail>();
    Model_BarcodeDetail data;

    SQLiteDatabase database = getReadableDatabase();
    cursor = database.query(TableClass.TABLE_PRODUCTS, null,
            columnJobType  + "=? and ",new String[] { 
    columnJobTypeValue,columnValue },
            columnName + "=?", null, null, null);
    if (cursor != null && cursor.getCount() > 0) {
        cursor.moveToFirst();

        while (!cursor.isAfterLast()) {

            data = new Model_BarcodeDetail();
            data.setBarcode(cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_BARCODE)));
            data.setQuantity(cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_QUANTITY)));
            data.setArea(cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_AREA)));
            data.setLocation(cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_LOCATION)));
            data.setName(cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_PRODUCTNAME)));
            data.setColor((cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_COLOR))));
            data.setSize((cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_SIZE))));

            data.setScanned(cursor
                    .getString(

       cursor.getColumnIndexOrThrow(TableClass.COLUMN_SCAN_STATUS))
                    .equalsIgnoreCase("1"));
            data.setBranch((cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_BRANCH))));
            data.setJob_type((cursor.getString(cursor
                    .getColumnIndexOrThrow(TableClass.COLUMN_JOB_TYPE))));
            list.add(data);
            cursor.moveToNext();
        }
    }
    if (cursor != null) {
        cursor.close();
        database.close();
    }
    return list;
}

Aucun commentaire:

Enregistrer un commentaire