如何解决Sqlite异常:为数据库编译的sql语句缓存达到最大大小

时间:2012-12-13 07:38:48

标签: android sqlite android-sqlite

我正在调用selectQuery。

public Cursor selectQuery ( final String queryString) {

    try {

        return getReadOnlySQLiteDatabase().rawQuery( queryString, null);
    } catch  ( Exception e ) {
        Logs.show(e);
        return null;
    } catch ( Error e ) {
        Logs.show(e);
        return null;
    } finally {


    }

}

调用该函数是

c   =   LiveApplication.getDatabaseWrapper().selectQuery( "SELECT   url FROM root_resource where resource_name = 'sports' ");

当我这样做时,我得到了例外 达到数据库的compile-sql语句高速缓存的MAX大小。请更改您的sql语句以使用'?'对于bindargs,而不是使用实际值

所以我将代码修改为

public Cursor selectQuery ( final String queryString, final String []  whereArgs) {

    try {
        Log.e("123", "Inside select query----"+whereArgs[0]);
        return getReadOnlySQLiteDatabase().rawQuery( queryString, whereArgs);
    } catch  ( Exception e ) {
        Logs.show(e);
        return null;
    } catch ( Error e ) {
        Logs.show(e);
        return null;
    } finally {


    }

}

电话成了:

c   =   LiveApplication.getDatabaseWrapper().selectQuery( "SELECT url FROM root_resource where resource_name =?", new String[]{"sports"});

在此之后我没有得到任何东西。这里我的错误是什么?

0 个答案:

没有答案