Je veux 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 query
et selectionArgs
devraient être passés à la méthode rawQuery
?
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 "?"
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();
}
Un exemple de rawQuery - db.rawQuery("select * from table where column = ?",new String[]{"data"});
Pour être complet et gérer correctement les 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();
}
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);
si votre requête SQL est la suivante
SELECT name,roll FROM student WHERE name='Amit' AND roll='7'
alors rawQuery sera
String query="SELECT id, name FROM people WHERE name = ? AND roll = ?";
String[] selectionArgs = {"Amit","7"}
db.rawQuery(query, selectionArgs);
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();
}
Nom et famille sont votre résultat