1

私は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"});

この後、私は何も得ていません。ここで私の間違いは何ですか?

4

0 に答える 0