Что я должен сделать, чтобы реализовать метод SQLQ rawQuery()?
Я пытаюсь использовать метод SQLQ 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 ответа
На этот вопрос правильный ответ:
Учтите, что mDb - это ваш класс SqlLiteDatabase...
OdaaDBOH должен быть примером SQLiteDatabase
если вы хотите использовать rawQuery
на нем, скорее всего, вы предоставляете реализацию SQLiteOpenHelper
там, который, конечно, не имеет метода rawQuery
,
rawQuery()
это метод на SQLiteDatabase
не SQLiteOpenHelper
, Вызов getReadableDatabase()
или же getWritableDatabase()
на ваше SQLiteOpenHelper
чтобы получить SQLiteDatabase
,