Я хочу использовать запрос выбора для извлечения данных из таблицы. Я нашел rawQuery(query, selectionArgs)
метод SQLiteDatabase
класса для получения данных. Но я не знаю , как query
и selectionArgs
должно быть передано rawQuery
методу?
87
Ответы:
rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});
Вы передаете строковый массив с таким же количеством элементов, как и у вас "?"
источник
rawQuery("SELECT id, name FROM people WHERE ?= ?", new String[] {"column_name", "David"});
, это действительный запрос?Может это поможет тебе
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(); }
источник
Один пример rawQuery -
db.rawQuery("select * from table where column = ?",new String[]{"data"});
источник
см. код ниже, он может вам помочь.
String q = "SELECT * FROM customer"; Cursor mCursor = mDb.rawQuery(q, null);
или
String q = "SELECT * FROM customer WHERE _id = " + customerDbId ; Cursor mCursor = mDb.rawQuery(q, null);
источник
rawQuery
. Его цель - избежать конкатенации строк и т.д. Также следует принять ответ Rawkode.Для полноты и правильного управления ресурсами:
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(); }
источник
если ваш SQL-запрос это
SELECT id,name,roll FROM student WHERE name='Amit' AND roll='7'
тогда rawQuery будет
String query="SELECT id, name, roll FROM student 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(); }
Имя и семья - ваш результат
источник