Datenbank Basic

A

anfortas

Neues Mitglied
0
Hallo

Ich bin gerade am rumpröbeln und versuche gerade eine minimale Datendank zu erstellen. Das hat soweit Funktioniert. Doch beim löschen habe ich noch Probleme. Eigentlich müsste dieser Code doch die Tabelle "meineTabelle" löschen. Wo liegt der Fehler?

try{
db1 = openOrCreateDatabase("meineTabelle", MODE_WORLD_READABLE, null);
db1.execSQL("DROP TABLE" + "meineTabelle");
}
catch (Exception e) {;}
finally { db1.close();}
 
anfortas schrieb:
...
db1.execSQL("DROP TABLE" + "meineTabelle");
...

Leerzeichen nicht vergessen!
db1.execSQL("DROP TABLE " + "meineTabelle");

Mfg :)
 
Ach.... Sachen gibts...:(:(
Aber vielen dank!;)
Ich habe etwas weiter ausprobiert und es haben sich mir noch einmal eine weitere Fragen gestellt, oder eher ein Problem

Ich habe nun eine einfache Datenbank erstellt, (diesesmal mit einem Databasehelper).
In einem EditText, kann man Text eingeben und diesen dann in der Datenbank anlegen und gleichzeitig ausgeben. Problem ist nur bei Neustart der Applikation wird natürlich wieder die Oncreate aufgerufen und alles ist wieder wie vorher.
 
Hab zwar bei Android noch nicht mit Datenbanken gearbeitet, aber da gibt es mehrere Möglichkeiten:

1. Evtl. gibt es eine Methode die Überprüft ob die DB existiert.

2. Einfach einen simplen read Befehl ausführen, welcher ein Ergebnis liefert wenn sie existiert, oder einen Fehler wenn nicht.

3. Über SharedPreferences eine boolean abspeichern, welche beim ersten start, nachdem die Datenbank erstellt wurde, auf true gesetzt wird.
 
OnCreate sollte eigentlich nur aufgerufen werden wenn die Datenbank noch nicht da ist.
Gelöscht werden sollte die Datenbank auch nur wenn die Applikation deinstalliert ist.
 
the_alien schrieb:
OnCreate sollte eigentlich nur aufgerufen werden wenn die Datenbank noch nicht da ist.
Gelöscht werden sollte die Datenbank auch nur wenn die Applikation deinstalliert ist.

Die Datenbank selber wird natürlich nicht gelöscht, sondern nur die Tabelle, dass sie nachher wieder neu angelegt werden kann.
Das erscheint mir, als den einfachsten weg.

und es ist ja openOrCreateDatabase, ich meine damit das Oncreate der Acitivty, und dieses ist wahrscheinlich zwingend oder?
 
Ach...:(:(

Gibts irgendso einen Android-Gott, an den man sich wenden kann, falls man nicht mehr weiterkommt, keine Ahnung hat und unter extremem zeitdruck steht und der einem dann weiterhilft?
 
anfortas schrieb:
Die Datenbank selber wird natürlich nicht gelöscht, sondern nur die Tabelle, dass sie nachher wieder neu angelegt werden kann.
Das erscheint mir, als den einfachsten weg.

und es ist ja openOrCreateDatabase, ich meine damit das Oncreate der Acitivty, und dieses ist wahrscheinlich zwingend oder?

Die Tabelle ist auch nicht weg. Wenn die App NICHT deinstalliert wird oder ihre Daten MANUELL GELÖSCHT werden, ist die Datenbank auf jeden Fall noch da und hat ihren Inhalt noch.

Falls du nur openOrCreateDatabase nutzt bleibt die Datenbank genau so wie sie vorher war. Du musst die Tabelle schon manuell droppen...

PS: Gerade oben gesehen das du sie wirklich manuell dropst...
 

Ähnliche Themen

S
Antworten
33
Aufrufe
2.540
Sempervivum
S
S
  • softwareunkundig
Antworten
1
Aufrufe
878
jogimuc
J
Zurück
Oben Unten