8
votes

Sqliitedatabase - Comment utiliser où la clause?

public Cursor fetchTimetable() {
    String a = "TIMETABLE_CODE = ADD";
    return mDb.query(DATABASE_TABLE_TIMETABLE, new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME}, a, null, null, null, null);
}

0 commentaires

7 Réponses :


7
votes
db.query
        (
                TABLE_NAME,
                new String[] { TABLE_ROW_ID, TABLE_ROW_ONE, TABLE_ROW_TWO },
                TABLE_ROW_ID + "=" + rowID,
                null, null, null, null, null
        );
TABLE_ROW_ID + "=" + rowID, here "=" is the where clause

2 commentaires

Cela fonctionne Cependant, je reçois un message d'erreur lors de l'utilisation de lettres. Mais si j'utilise des chiffres, cela fonctionne


Si vous souhaitez utiliser une chaîne, vous pouvez déclencher la requête en tant que curseur mcursor = mdb.Query (TRUE, Customer_Table_Name, nouvelle chaîne [] {générique_id_key, adresse_key, téléphone_key, mail_key, customer_ke_key}, generic_id_key + "=?", nouvelle chaîne [ ] {CustomerDbid}, NULL, NULL, NULL, NULL);



4
votes

Qu'est-ce que "ne fonctionne toujours pas" signifie?

Le code suivant doit fonctionner simplement bien: P>

public Cursor fetchTimetable() { 
    String[] columnNames = new String[] {TIMETABLE_ROWID, TIMETABLE_MODULECODE, TIMETABLE_MODULENAME, TIMETABLE_ROOM, TIMETABLE_LECTURER, TIMETABLE_TIME};
    String whereClause = "TIMETABLE_MODULECODE=123"; 

    return mDb.query(DATABASE_TABLE_TIMETABLE, columnNames, whereClause, null, null, null, null); 
} 


0 commentaires

2
votes

La manière simple: xxx


0 commentaires

4
votes

La syntaxe droite est xxx


1 commentaires

Merci Lalit, vos codes travaillent pour moi. Je ne sais pas pourquoi tu ne sois pas upvote. veuillez aussi joindre des liens aussi



11
votes

Mon exemple de travail avec où args (c'est plus clair avec l'utilisation):

        String [] settingsProjection = {
                DBContract.Settings._ID,
                DBContract.Settings.COLUMN_NAME_USER_ID,
                DBContract.Settings.COLUMN_NAME_AUTO_LOGIN
        };

        String whereClause = DBContract.Settings.COLUMN_NAME_USER_ID+"=?";
        String [] whereArgs = {userId.toString()};

        Cursor c = db.query(
                DBContract.Settings.TABLE_NAME,
                settingsProjection,
                whereClause,
                whereArgs,
                null,
                null,
                null
        );


0 commentaires

1
votes

Vous pouvez utiliser cette requête:

SQLiteDatabase db = this.getReadableDatabase();

//Cursor cursorr = db.rawQuery(Query, null);

Cursor cursorr =  db.rawQuery("select * from " + DATABASE_TABLE_EHS + " where " + TASK_ID + "='" + taskid + "'" , null);

    if (cursorr.moveToFirst()) 
   {

        do {

            // your code like get columns

            }
         while (cursorr.moveToNext());
    }
}


0 commentaires

1
votes

Si vous vérifiez une valeur de chaîne, vous souhaitez envelopper la chaîne dans des guillemets tels que ci-dessous:

dbHelper.COL_EMAIL +"='"+givenEmail+"'", 


0 commentaires