Невозможно получить запись sqlite - PullRequest
0 голосов
/ 21 июня 2011

Я использую следующий запрос , чтобы получить строку с конкретным mid .

Cursor mCursor =  mDb.query(true, DATABASE_TABLE, new String[] { KEY_ROWID, "actionData", "mid" }, "mid" + "=" + mid, null, null, null, null, null);

Однако я получаю исключение sqlite, когда пытаюсь сделать то же самое. Есть идеи?

Исключение составляет -

 Error: android.database.sqlite.SQLiteException: no such column: qVEl3: , while compiling: SELECT DISTINCT _id, actionData, mid FROM notifs WHERE mid=qVEl3

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

Вы пропустили цитаты:

SELECT DISTINCT _id, actionData, mid FROM notifs WHERE mid='qVEl3'

Таким образом, ваш код Android должен быть:

Cursor mCursor =  mDb.query(true, DATABASE_TABLE, new String[] 
    { KEY_ROWID, "actionData", "mid" }, 
    "mid=?", new String[] {mid}, null, null, null, null);

(что также предотвратит внедрение SQL)

0 голосов
/ 21 июня 2011

Вы захотите использовать параметры запроса, чтобы избежать проблем с кавычками:

Cursor mCursor =  mDb.query(
    true,
    DATABASE_TABLE,
    new String[] { KEY_ROWID, "actionData", "mid" }, 
    "mid = ?",              // the ? is a placeholder.
    new String[] { mid },   // sqlite will put the value of mid into the placeholder above.
    null,
    null,
    null,
    null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...