Как мне написать этот запрос для SQLite для Android-приложения? - PullRequest
2 голосов
/ 11 октября 2010

Я пытаюсь написать запрос на выборку из одной таблицы в БД SQLite в моем приложении, где существуют данные.

Это SQL.table имеет следующие столбцы - id (INTEGER), start_time (INTEGER), категория (TEXT)

select category from tuuserid_pref where id = (select max(id) from tuuserid_pref where start_time < '1242'); кстати, я хочу связать значение, показанное в 1242, которое у меня есть в переменной Integer.

Я написал команды выбора, вставки и обновления без параметров привязки, и они работают с использованием функций db.execSQL и db.rawQuery, но просто не могут определить параметры привязки.

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 11 октября 2010

Вам нужно изменить свое предложение select следующим образом:

select category from tuuserid_pref where id = 
(select max(id) from tuuserid_pref where start_time < ?);

Затем используйте следующий rawQuery вызов:

rawQuery(String sql, String[] selectionArgs)

Передайте вашу переменную во второй параметр, заключенный в String [], который должен дать вам что-то вроде следующего утверждения:

db.rawQuery(sqlStatement, new String[] { String.valueOf(myInt) });

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...