rawQuery (запрос, selectionArgs)

Я хочу использовать запрос выбора для извлечения данных из таблицы. Я нашел,rawQuery(query, selectionArgs) методSQLiteDatabase класс для извлечения данных. Но я не знаю, какquery а такжеselectionArgs должны быть переданыrawQuery метод?

 Tarun15 мая 2012 г., 11:58
Android developer websiteAndroid-разработчик - лучший источник для всех этих небольших запросов. Лучший источник для всех этих небольших запросов.

Ответы на вопрос(7)

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);
 20 апр. 2015 г., 10:34
@aMiGo Строка в любом случае объединяется в слой ниже.
 15 дек. 2018 г., 11:30
Если вы объедините строковое значение, у вас возникнут проблемы с символом & apos; (нужно 2 из них в строке) и символ; (может создать побочные эффекты). Предположим, CustomerDbId - это строка, которая читается как «123»; удалить от клиента - тогда вы потеряете ВСЕ данные!
 20 июн. 2014 г., 21:40
Это не то, как следует использовать rawQuery, вы должны использовать? в качестве заполнителей и второй параметр, чтобы заполнить их.
 12 июн. 2013 г., 11:05
Почему за это проголосовали? Это не показывает, как правильно использовать функциональность, предоставляемуюrawQuery, Его цель состоит в том, чтобы избежать объединения строк и т. Д. Также должен быть принят ответ Rawkode.
 23 янв. 2015 г., 19:47
Независимо от того, "как" вы должны использоватьrawQuery()Это более разумный, краткий, понятный и стандартный способ для всех других языков, кроме Java. Так что это предпочтительнее.
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();
}

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

тогда rawQuery будет

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

        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();
        }
Решение Вопроса
rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});

как у вас есть & quot;? & Quot;

 02 июл. 2014 г., 15:29
Thx, заслуживают больше, как для этого
 12 мая 2015 г., 11:20
rawQuery("SELECT id, name FROM people WHERE ?= ?", new String[] {"column_name", "David"});, это validQuery?
 28 мая 2016 г., 20:30
@ theapache64 это неверный запрос. «?» применимо только к значениям.

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();
}
 16 сент. 2017 г., 09:52
это идеальный ответ на вопрос, заданный @AgentKnopf

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

 15 мая 2012 г., 11:53
 sree_iphonedev15 мая 2012 г., 11:50
Что такое новая строка [] {& quot; данные & quot;}? Можете ли вы просто дать объяснение приведенному выше утверждению Заранее спасибо.

Ваш ответ на вопрос