Что я должен сделать, чтобы реализовать метод SQLQ rawQuery ()? - PullRequest
0 голосов
/ 27 марта 2012

Я пытаюсь использовать метод SQLite rawQuery, основанный на следующем коде:

В базе данных существует запись Android ()?

... ноЯ получаю " Метод rawQuery (String, String []) не определен для типа OdaaDBOpenHelper Authorize_Activity_DynamicControls.java " с этим кодом:

    OdaaDBOH = new OdaaDBOpenHelper(this);
. . .
    private boolean RecordExists(String _id) {
        // This:
        Cursor cursor = OdaaDBOH.rawQuery("select 1 from NAPOLEON_DYNAMITE_TABLE where _id=%s",  
        // or this:
        //Cursor cursor = OdaaDOdaaDBOpenHelperBOH.rawQuery("select 1 from     
NAPOLEON_DYNAMITE_TABLE where _id=%s",  
                new String[] { _id });
        boolean exists = (cursor.getCount() > 0); 
        cursor.close(); 
        return exists; 
    }

. . .
// from referenced unit:

public class OdaaDBOpenHelper extends SQLiteOpenHelper {

Я пробовал оба с использованием имени экземплярамоего класса, производного от SQLiteOpenHelper, и с использованием самого имени класса (закомментировано в приведенном выше коде).

Что я должен сделать для реализации rawQuery () или для его распознавания / подтверждения?

Ответы [ 2 ]

3 голосов
/ 27 марта 2012

rawQuery() - это метод для SQLiteDatabase, а не SQLiteOpenHelper. Позвоните getReadableDatabase() или getWritableDatabase() на ваш SQLiteOpenHelper, чтобы получить SQLiteDatabase.

1 голос
/ 27 марта 2012

Правильный ответ на этот вопрос:

Учтите, что mDb - это ваш класс SqlLiteDatabase ...

OdaaDBOH должен быть экземпляромSQLiteDatabase если вы хотите использовать rawQuery, скорее всего, вы предоставляете реализацию SQLiteOpenHelper, которая, конечно, не имеет метода rawQuery.

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