0

我正在尝试使用 SQLite rawQuery 方法,基于此处的代码:

数据库中的Android记录存在()?

...但我得到“未定义 OdaaDBOpenHelper Authorize_Activity_DynamicControls.java 类型的方法 rawQuery(String, String[]) ”,代码如下:

    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() 或使其被识别/确认?

4

2 回答 2

3

rawQuery()是一种方法SQLiteDatabase,不是SQLiteOpenHelper。致电getReadableDatabase()getWritableDatabase()上您的电话SQLiteOpenHelper以获取SQLiteDatabase.

于 2012-03-27T14:42:59.820 回答
1

从那个问题正确答案:

考虑到 mDb 是您的 SqlLiteDatabase 类...

SQLiteDatabase如果您想在 OdaaDBOH 上使用它,那么OdaaDBOH应该是一个实例,rawQuery很可能您正在提供 a 的实现SQLiteOpenHelper,当然它没有方法rawQuery

于 2012-03-27T14:45:13.987 回答