デバイスではこのエラーが発生しますが、別のデバイスでは問題なく動作します。エラーは次のとおりです。
Caused by: android.database.sqlite.SQLiteException: not an error
at android.database.sqlite.SQLiteQuery.nativeFillWindow(Native Method)
at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:86)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:164)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:156)
at com.Orange.MakeVisits.Themes.onCreate(Themes.java:162)
クエリを実行すると、カーソルが null かどうかを確認する行で、このエラーが発生します。これが私のコードです:
String stmtGetThemes = "SELECT * FROM pr_fields_descriptor a "
+ "inner join pr_fields_starring b on a.id_fields_descriptor = b.fields_descriptor_id "
+ "where b.starring_id = '"+pos_starring_id+"' and a.theme_id='"+themes_ids[m]+"' order by form_rank";
Cursor getThemesCursor1 = db.databaseQuery(stmtGetThemes);
if (getThemesCursor1!=null && getThemesCursor1.getCount()>0){
//----
}
および databasequery はこのメソッドです ( を拡張するクラスで定義されていますSQLiteOpenHelper
):
public Cursor databaseQuery(String stmt) {
Cursor cursor = db.rawQuery(stmt, null);
return cursor;
}
このエラーの原因は何ですか? ステートメントは良くないですか?なぜ他のデバイスで動作するのですか? どんなアイデアでも大歓迎です。よろしくお願いします。