1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

SQLite Android 2.2

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von MBPower, 11.09.2010.

  1. MBPower, 11.09.2010 #1
    MBPower

    MBPower Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    149
    Erhaltene Danke:
    9
    Registriert seit:
    26.02.2010
    Habe auf einem Handy mit Android 2.2 Probleme mit SQLite.
    Da muss es ein paar Änderungen gegeben haben.
    Der folgenden Code funktioniert in den Versionen 1.5 - 2.1, aber ab 2.2 leider nicht mehr. Es gibt keine Fehlermeldung auf 2.2, aber das Update wird nicht ausgeführt.
    Hat jemand eine Idee?

    Code:
    SQLiteDatabase myDB = null;
    try {
        myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
        
            myDB.execSQL("UPDATE " + MY_DB_TABLE + " SET test='" + testcount + "' WHERE " + " test1='" + info1 + "' AND test2='" + info2 + "'");
    
    } finally {
        if (myDB != null)
            myDB.close();
    }
    
     
    Zuletzt bearbeitet: 11.09.2010
  2. TSGames, 12.09.2010 #2
    TSGames

    TSGames Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    22.08.2010
    Hey,

    wird der Code ausgeführt, wenn du keine WHERE-Bedingung einbaust? Oder wird generell kein Update auf die Datensätze angewendet?
    Falls der Fehler in der WHERE-Klausel auftritt, könnte es vielleicht an einem Problem mit der Kodierung liegen (eventuell unterschiedliche Kodierung der Strings?).

    Gruß
    TSGames
     
  3. MBPower, 15.09.2010 #3
    MBPower

    MBPower Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    149
    Erhaltene Danke:
    9
    Registriert seit:
    26.02.2010
    Habe das ganze Problem noch mal in Ruhe angeschaut und auch unter verschiedenen SDKs (1.5, 2.1 und 2.2) getestet.
    Das Problem hat doch nichts mit den Versionen zu tun, aber dennoch ist das soooooo unlogisch.

    Das Problem tritt nur auf, wenn das App frisch installiert ist und man noch nie die PreferencesActivity aufgerufen hat.
    Es ist schon ausreichend, wenn ich die PreferencesActivity nur aufgerufen werden und ohne Veränderung die PreferencesActivity wieder geschlossen wird. Es wird nach dem Aufruf auch nichts mehr an dem SqLite geschraubt.

    Auch wenn man nach einmaligem Aufruf von PreferencesActivity das Handy neu startet, dann funktioniert der Update ohne einen erneuten Aufruf der PreferencesActivity. Wenn man das nicht gesehen hat, dann kann man das nicht glauben.

    Ich habe mir beide (funktionierend und nicht funktionierend) SQL Update Aufrufe per log.e ausgeben lassen und es gibt keinen Unterschied, auch kein Leereichen. Beide Zeilen sind komplett identisch, nur ohne einen Aufruf der PreferencesActivity wird kein Update durchgeführt. In den Preferences kann man auch nichts einstellen, was den Sql Aufruf beeinflussen könnte. Auch ein manueller Update Aufruf nur auf eine id funktioniert nicht.

    Wenn es hier einen Android Profi gibt, der gegen Aufwandsentschädigung sich das Problem anschauen würde, dann wäre ich sehr dankbar.
     
    Zuletzt bearbeitet: 15.09.2010

Diese Seite empfehlen