SQLite Datenbank updaten

D

DMD-OL

Neues Mitglied
0
Hallo. Hab mich grade ganz neu hier registriert :),
da ich ein kleines (GROSSES) Problem mit meiner selbstgebastelten OS-App hab.
Ich würde gern meine Datenbank updaten, wenn vorher schon einmal bestimmte Werte abgespeichert wurde.
In meiner App kann ich bereits Daten inserten.
Genau so wird insertet:
id,ktoNum,vorName,nachName,gebDat,daTum,view_1,edit_2,edit_3 und edit_4" (wobei die id INTEGER PRIMARY KEY AUTOINCREMENT ist).

Jetzt möchte ich aber ebenfalls "view_1,edit_2,edit_3 und edit_4" updaten können, wenn
ktoNum,vorName,nachName,gebDat,daTum schon einmal vorher abgespeichert wurden.
Mein bisheriger Code dazu lautet:
Code:
    public boolean updateMaterial(String ktoNum,String vorName,String nachName,String gebDat,String daTum,String bauVor,String view_1,String edit_2,String edit_3,String edit_4) {
        SQLiteDatabase dbmat = this.getWritableDatabase();
        ContentValues contValues = new ContentValues();
        contValues.put(COL_1, ktoNum);
        contValues.put(COL_2, vorName);
        contValues.put(COL_3, nachName);
        contValues.put(COL_4, gebDat);
        contValues.put(COL_5, daTum);
        contValues.put(COL_6, bauVor);
        contValues.put(COL_7, view_1);
        contValues.put(COL_8, edit_2);
        contValues.put(COL_9, edit_3);
        contValues.put(COL_10, edit_4);

        String where = COL_0;
        String[] whereArgs = new String[]{ktoNum, vorName, nachName, gebDat, daTum, bauVor};
        long result = dbmat.update(DATABASE_TABLEN, contValues, where, whereArgs);
        if (result == -1) {
            return false;
        } else {
            return true;
        }
    }
 
Willkommen im Forum! :)

Ich habe deinen Thread mal in den richtigen Bereich verschoben.
 
@DMD-OL

Hmm, hab nicht ganz verstanden, was du machen möchtest, aber grundsätzlich musst du die whereclause richtig spezifizieren, also zb . "COL_0 = 123" oder
"COL_1= ktoNum" die whereArgs sind dazu da Platzhalter "?" in deiner whereclause zu ersetzen "COL_2 = ?" .... bei komplexen Abfragen ist es meiner Erfahrung nach oft übersichtlicher die whereclause einmalig komplett zu definieren ("and" und "or" nicht vergessen) und auf die whereArgs zu verzichten ... btw. wenn ich mich richtig erinnere wirst du bei deinem aktuellen code immer TRUE zurückgeben ....Anzahl der rows >=0 ....
 
HURRA, vielen Dank für deine Antwort.
ich weiß grad net, ob das ein glückstrefferantwort war, aber ES LÄUFT :)
VIELEN DANK
 

Ähnliche Themen

R
Antworten
6
Aufrufe
992
swa00
swa00
J
  • Juleru
Antworten
8
Aufrufe
492
Juleru
J
S
Antworten
33
Aufrufe
2.645
Sempervivum
S
Zurück
Oben Unten