2 Stimmen

Android - Cursor gibt falsche Werte zurück

Ich frage einige Produkte in der SQLite-Datenbank ab, aber dieselbe Basis in 2 verschiedenen Android-Versionen gibt unterschiedliche Werte zurück.

Wählen Sie das Ergebnis in database.db3 mit SQLite Expert:

result

Ich erstelle diesen Code nach der Auswahl, um zu testen:

        if(cursor.moveToFirst()){
            while(!cursor.isAfterLast()){
                log("CDPROD:" + cursor.getString(cursor.getColumnIndex("CDPROD")));
                cursor.moveToNext();
            }
        }

Log Ergebnis in Android 2.2:

09-26 14:30:08.947: INFO/LOGG(20497): CDPROD:000000000000211934
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000211944
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212020
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212124
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000214280
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212886

Protokoll Ergebnis in Android 2.1:

09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:211934
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:211944
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212020
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212124
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:214280
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212886

Dies ist ein Fehler in Android?

Ty

0voto

Ovidiu Latcu Punkte 70281

Als Spaltentyp müssen Sie verwenden text no string ou varchar wenn Sie Ihre SQLiteTables . Es scheint so, dass wenn Sie string es wird trim Ihre Führung zeros . Siehe auch SQLite-Datentypen .

EDITAR: Nach diesem Antwort: Versionen von SQLite in Android haben sie unterschiedliche SQLite versions .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X