Невозможно использовать SELECT в RAWQUERY - PullRequest
0 голосов
/ 06 июля 2011

Я новичок в программировании Android, я делаю простой SELECT с необработанным запросом, и он выдает мне ошибку ...

Вот мой код

публичный курсор getSubCategory (int categoryID) {

    String select = "SELECT subcategory_name FROM subcategory WHERE id_category = " + categoryID;
    return mDb.rawQuery(select, null);      
    }

Как вы можете видеть, id_category - это целое число

Если у кого-то есть идеи, это было бы здорово

1 Ответ

0 голосов
/ 06 июля 2011

Вы не используете API в полной мере, там вы должны использовать

String select = "SELECT subcategory_name FROM subcategory WHERE id_category = ?"

и затем передайте categoryID второму аргументу как

...
String[] arguments = { categoryID.toString() }
return mDb.rawQuery(select, arguments);
...

Это должно устранить риски внедрения SQL-кода при использовании параметров («?»).

Кроме того, нам понадобится более подробная информация об ошибке, чтобы помочь вам в дальнейшем

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