Escape-символы в запросе SQLite - PullRequest
0 голосов
/ 08 апреля 2011

Я хочу выбрать некоторые данные из базы данных sqllite. Теперь я столкнулся с проблемой. Я дал сырой запрос следующим образом:

String MY_QUERY0 = "select * from logs where log_name=\""+log_name.replace("'","\'")+"\"";

это может помочь мне избежать сбоя приложения при таких данных, как

Имена в

взято из БД. Но теперь я должен решить тот же случай с двойными кавычками. данные как

"Данные"

может кто-нибудь помочь .. Заранее спасибо.

1 Ответ

3 голосов
/ 08 апреля 2011

Вы можете использовать rawQuery:

q = "select * from logs where log_name = ?";
database.rawQuery(q, new String[] { log_name});

Это не только решает проблему с кавычками, но и намного более безопасно, поскольку предотвращает SQL-инъекцию.

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