私は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' ");
これを行っているときに、データベースのコンパイル済み SQL ステートメント キャッシュの最大サイズに達したという例外が発生します。'?' を使用するように 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"});
この後、私は何も得ていません。ここで私の間違いは何ですか?