Je souhaite utiliser la requête de sélection pour récupérer les données de la table. J'ai trouvé, rawQuery(query, selectionArgs)
méthode de SQLiteDatabase
classe pour récupérer des données. Mais je ne sais pas comment le query
et selectionArgs
doit être passé à la rawQuery
méthode?
87
Réponses:
rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});
Vous passez un tableau de chaînes avec un nombre égal d'éléments que vous avez "?"
la source
rawQuery("SELECT id, name FROM people WHERE ?= ?", new String[] {"column_name", "David"});
, est-ce une requête valide?Peut-être que cela peut vous aider
Cursor c = db.rawQuery("query",null); int id[] = new int[c.getCount()]; int i = 0; if (c.getCount() > 0) { c.moveToFirst(); do { id[i] = c.getInt(c.getColumnIndex("field_name")); i++; } while (c.moveToNext()); c.close(); }
la source
Un exemple de rawQuery -
db.rawQuery("select * from table where column = ?",new String[]{"data"});
la source
voir ci-dessous le code cela peut vous aider.
String q = "SELECT * FROM customer"; Cursor mCursor = mDb.rawQuery(q, null);
ou
String q = "SELECT * FROM customer WHERE _id = " + customerDbId ; Cursor mCursor = mDb.rawQuery(q, null);
la source
rawQuery
. Son but est d'éviter de concaténer des chaînes, etc. De plus, la réponse de Rawkode doit être acceptée.Pour une gestion complète et correcte des ressources:
ICursor cursor = null; try { cursor = db.RawQuery("SELECT * FROM " + RECORDS_TABLE + " WHERE " + RECORD_ID + "=?", new String[] { id + "" }); if (cursor.Count > 0) { cursor.MoveToFirst(); } return GetRecordFromCursor(cursor); // Copy cursor props to custom obj } finally // IMPORTANT !!! Ensure cursor is not left hanging around ... { if(cursor != null) cursor.Close(); }
la source
si votre requête SQL est la suivante
SELECT id,name,roll FROM student WHERE name='Amit' AND roll='7'
alors rawQuery sera
String query="SELECT id, name, roll FROM student WHERE name = ? AND roll = ?"; String[] selectionArgs = {"Amit","7"} db.rawQuery(query, selectionArgs);
la source
String mQuery = "SELECT Name,Family From tblName"; Cursor mCur = db.rawQuery(mQuery, new String[]{}); mCur.moveToFirst(); while ( !mCur.isAfterLast()) { String name= mCur.getString(mCur.getColumnIndex("Name")); String family= mCur.getString(mCur.getColumnIndex("Family")); mCur.moveToNext(); }
Le nom et la famille sont votre résultat
la source