N
Nivel
Neues Mitglied
- 0
Hi,
ich habe ein paar Probleme mit dem Speichern in eine SQL Datenbank oder mit der Datenbank an sich. Ich habe normal eine Tabelle in der Datenbank erstellt. Nun sieht meine App so aus, dass ich anfangs nur einen EditText hatte. Die eingebenen Sachen sollen in der Datenbank gespeichert werden.
Später sollen diese Daten durch einen Button-Klick in einer ListView andgezeigt werden.
Dies funktioniert auch wunderbar.
Doch nun habe ich bei meiner folgenden Arbeit Probleme:
1)
Da ich nun aber 2 EditTexte einbauen wollte, stellt sich mir die Frage, wie ich dies mache.
Anfangs habe ich weitere Spalten in der Datenbank erstellt:
Dann habe ich eine Methode, die die Cursor erstellt, geschrieben:
so siehts aus, nur die App startet einfach nicht. Ich habe schon getestet, es muss an "preis" liegen. Was mache ich falsch, bzw. was muss ich ändern? Als Fehler kommt immer Source not found.
Ich weiß nicht, ob das wichtig ist, aber so versuche ich die Daten aus den EditTexten in die Datenbank zu speichern:
Ich hoffe, ihr könnt mir helfen
zum 2.Problem:
Ich habe einen OnItemClickListener dem ListView hinzugefügt. Nun soll auf einen Klick ein AlertDialog starten, funktioniert auch soweit.
Nun möchte ich, dass man dieses "item" aus der ListView, also aus der Datenbank löscht. Da die Daten ja durch EditTexte ausgelesen werden, weiß ich die id der Zeile bzw. finde ich keine Lösung dafür, um diese herauszufinden.
Logischerweise möchte ich dann diese Zeile aus der Datenbank löschen. Doch leider weiß ich auch da nicht, wie ich das anstellen soll, da ich noch nicht so oft mit ner Datenbank gearbeitet habe.
Ich hoffe das war nicht zu viel und ich hoffe, dass ihr mein Problem verstanden habt:
Vielen Dank schonmal für eure Hilfe
Gruß
Nivel
ich habe ein paar Probleme mit dem Speichern in eine SQL Datenbank oder mit der Datenbank an sich. Ich habe normal eine Tabelle in der Datenbank erstellt. Nun sieht meine App so aus, dass ich anfangs nur einen EditText hatte. Die eingebenen Sachen sollen in der Datenbank gespeichert werden.
Später sollen diese Daten durch einen Button-Klick in einer ListView andgezeigt werden.
Dies funktioniert auch wunderbar.
Doch nun habe ich bei meiner folgenden Arbeit Probleme:
1)
Da ich nun aber 2 EditTexte einbauen wollte, stellt sich mir die Frage, wie ich dies mache.
Anfangs habe ich weitere Spalten in der Datenbank erstellt:
Code:
private static final String KLASSEN_CREATE = "create table klassen (_id integer primary key autoincrement, "
+ "name text not null, preis text not null);";
Code:
private void ladeDaten() {
Cursor klassenCursor = mDatenbank.rawQuery(KLASSEN_SELECT_RAW, null);
startManagingCursor(klassenCursor);
SimpleCursorAdapter klassenAdapter = new SimpleCursorAdapter(this,
android.R.layout.two_line_list_item,
klassenCursor,
new String[]{ "name","preis"},
new int[]{android.R.id.text1, android.R.id.text2});
setListAdapter(klassenAdapter);
Code:
private static final String KLASSEN_SELECT_RAW = "SELECT _id, name FROM klassen, preis FROM klassen";
Ich weiß nicht, ob das wichtig ist, aber so versuche ich die Daten aus den EditTexten in die Datenbank zu speichern:
Code:
artikel = (EditText)findViewById(R.id.artikel);
preis = (EditText)findViewById(R.id.preis);
ContentValues werte = new ContentValues();
werte.put("name", artikel.getText().toString());
werte.put("preis", preis.getText().toString());
mDatenbank.insert("klassen", null, werte);
ladeDaten();
zum 2.Problem:
Ich habe einen OnItemClickListener dem ListView hinzugefügt. Nun soll auf einen Klick ein AlertDialog starten, funktioniert auch soweit.
Nun möchte ich, dass man dieses "item" aus der ListView, also aus der Datenbank löscht. Da die Daten ja durch EditTexte ausgelesen werden, weiß ich die id der Zeile bzw. finde ich keine Lösung dafür, um diese herauszufinden.
Logischerweise möchte ich dann diese Zeile aus der Datenbank löschen. Doch leider weiß ich auch da nicht, wie ich das anstellen soll, da ich noch nicht so oft mit ner Datenbank gearbeitet habe.
Ich hoffe das war nicht zu viel und ich hoffe, dass ihr mein Problem verstanden habt:
Vielen Dank schonmal für eure Hilfe
Gruß
Nivel