我正在调用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"});
在此之后我没有得到任何东西。这里我的错误是什么?