Frage

Ich versuche, meinem vorhandenen SQLite-DB drei neue Tabelle hinzuzufügen, und ich leite Probleme mit der DB-Version, die nach einem erfolgreichen Upgrade nicht aktualisiert wird. Unten ist der Datenbankhelper, der ausgeführt wird:

generasacodicetagpre.

unten ist meine offene () -Funktion:

generasacodicetagpre.

Nachfolgend ist meine Close () Funktion:

generasacodicetagpre.

Was passiert also auf dem ersten Lauf mit einer höheren Datenbank_Version ist das erste Onupgrade-Protokoll liest: Alte Version 1 Neue Version 2 db.getversion ist 1

Das zweite Protokoll ist: Version nach Onupgrade ist 2

aber dann, wenn der dB nach dem Onupgrade erneut zugegriffen wird, wird die Versionsnummer des DB nicht aktualisiert und läuft durch den Onupgrade mit dem ersten Anmelden des OnUpgrade-Lesens: Alte Version 1 Neue Version 2 db.getversion ist 1

Dann ist die App abgestürzt, da es versucht, eine Tabelle zu erstellen, die bereits vorhanden ist.

Ich habe versucht, die DB-Version nicht manuell in den Onupgrade zu setzen. Das hat auch nicht funktioniert. Ich habe auch versucht, die Versionsnummer mit dem Laufen zu aktualisieren ...

generasacodicetagpre.

... am Ende des Onupgrade.

edit:

pro Aswin Kumars Vorschlag habe ich meine Onupgrade geändert, um meinen vorhandenen Tisch zu sichern und den gesamten Tisch zu fällen und dann wieder herzustellen. Dies hat meine Version nicht behoben. Unten ist mein Onupgrad und die Oncreate:

generasacodicetagpre.

Im Folgenden sind die SQLITE-Anweisungen, mit denen ich die Tabellen erstellen kann:

generasacodicetagpre.

Jede Hilfe wäre sehr geschätzt.

danke, Kevin

War es hilfreich?

Lösung 2

mein eigenes Problem behoben.Das Problem war, dass ich eine separate DB-Helfer-Klasse erstellt hatte, die auf das gleiche dB-Zugriff auf das gleiche Upgrade erreichte.In dieser separaten DB-Helper-Klasse wurde die Versionsnummer auf 1 gesetzt. Diese App war mein erstes Java- und Android-Programm und ich setze die DB-Klassen schrecklich ein.Ich habe die gesamte DB-Klasse auf diejenige konsolidiert, die ich jetzt auf dem neuesten Stand bin, und jetzt wird meine DB-Version so aktualisiert, wie es sollte.Unten sind meine letzten Klassen, wenn jemand interessiert ist.

generasacodicetagpre.

Andere Tipps

In der generakoditicetagcode müssen Sie die vorhandenen Tabellen (nach der Migration der Daten auf eine temporäre Datastruktur) generationspositionieren, und erstellen Sie dann die neuen Tabellen (unter Verwendung der alten Daten aus der Datastruktur).Wenn Sie nicht sind, werden die alten Tabellen noch existieren.

Wenn dies das Problem nicht beherrscht, fügen Sie die genauen Befehle ein, die Sie in der genannten GriffenaDicetAgcode verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top