Pregunta rawQuery (query, selectionArgs)


Deseo utilizar la consulta de selección para recuperar datos de la tabla. He encontrado, rawQuery(query, selectionArgs) método de SQLiteDatabase clase para recuperar datos. Pero no sé cómo query y selectionArgs debe pasar a rawQuery ¿método?


74
2018-05-15 09:46


origen


Respuestas:


rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});

Usted pasa una matriz de cadenas con la misma cantidad de elementos que tiene "?"


193
2018-05-15 09:50



Tal vez esto pueda ayudarle

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

12
2018-05-15 10:05



Un ejemplo de rawQuery - db.rawQuery("select * from table where column = ?",new String[]{"data"});


9
2018-05-15 09:48



vea el código a continuación que puede serle útil.

String q = "SELECT * FROM customer";
Cursor mCursor = mDb.rawQuery(q, null);

o

String q = "SELECT * FROM customer WHERE _id = " + customerDbId  ;
Cursor mCursor = mDb.rawQuery(q, null);

2
2018-05-15 09:51



Para completar y gestionar correctamente los recursos:

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

2
2017-08-25 11:13



si su consulta SQL es esto

SELECT name,roll FROM student WHERE name='Amit' AND roll='7'

entonces rawQuery será

String query="SELECT id, name FROM people WHERE name = ? AND roll = ?";
String[] selectionArgs = {"Amit","7"} 
db.rawQuery(query, selectionArgs);

1
2018-03-09 07:01



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

El nombre y la familia son tu resultado


0
2018-06-26 10:52