Viene visualizzato questo errore su un dispositivo, mentre funziona correttamente su un altro dispositivo. Ecco l'errore:Android: SQLiteException: non un errore non su tutti i dispositivi
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)
eseguo una query e alla linea che controlla se il cursore è nullo, ottengo questo errore. Ecco il mio codice:
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){
//----
}
e databasequery è questo metodo (è definito nella classe che si estende SQLiteOpenHelper
):
public Cursor databaseQuery(String stmt) {
Cursor cursor = db.rawQuery(stmt, null);
return cursor;
}
Qualche idea di cosa può causare questo errore? La dichiarazione non è buona? Perché funziona su altri dispositivi? Qualsiasi idea è ben accetta. Grazie in anticipo.
Se 'pos_starring_id' e' themes_ids [m] 'sono numeri interi, è necessario rimuovere i virgolette (' '') attorno ad essi dalla query in modo che non vengano trattate come stringhe. – Barak