SqlException ошибка возникает при использовании курсора - PullRequest
1 голос
/ 20 января 2012

в строке курсора возникает эта ошибка.

Error:

Caused by: android.database.sqlite.SQLiteException: near ")": syntax 
error: , while compiling: SELECT value FROM system WHERE (name= ) ORDER BY name

Курсор выглядит так:

 Cursor c = getContentResolver().query(Uri.parse("content://settings/system"),
 values, "name=", fields, "name");
    if (c != null) {
        c.moveToFirst();
        long lvalue = c.getLong(0);
        if (lvalue > 0) {
            m_ScreenSaverDelay = lvalue;
        }

Ответы [ 2 ]

3 голосов
/ 20 января 2012

Документация состояния:

Вы можете включить? S в выделение, которые будут заменены значениями из selectionArgs в порядке их появления в выделении.Значения будут связаны в виде строк.

Так что попробуйте "name=?s" вместо "name=", что в итоге будет равно чему-то эквивалентному

"name=\"" + fields[0] + "\""

(не принимая во внимание цитирование ввода данных в этом примере, которое будет (или должно ) быть выполнено механизмом БД).

3 голосов
/ 20 января 2012

Попробуйте это:

Cursor c = getContentResolver().query(Uri.parse("content://settings/system"), values, "name= '"+ theNameyouArelookingFor +"'", fields, "name");     

Ваш запрос должен оценить:

SELECT value FROM system WHERE (name='ThenameYouAreLookingFor') ORDER BY name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...