Android SQLite erhöht einen Spaltenwert

7

Ich versuche eine Score-Datenbank zu erstellen, die die Punktzahl der Spieler um eins erhöht, wenn sie gewinnt, indem sie updateScore () aufruft. Der Primärschlüssel und die Spielernummer sind identisch (ich muss vielleicht die Datenbank irgendwann neu strukturieren) und die letzte Spalte ist "Score".

Unten ist der Code, der anfänglich den Punktestand einstellt (das funktioniert), die Methode, die den Punktestand erreicht (funktioniert auch gut) und die Methode, die den Punktestand aktualisiert, wobei der relevante Spielerwert um 1 erhöht wird arbeite nicht, soll ich hier etwas anders machen? Vielen Dank.

%Vor%     
davidbain 26.02.2014, 09:35
quelle

5 Antworten

3

Ändern

%Vor%

bis

%Vor%     
igorshin 26.02.2014, 09:39
quelle
9
%Vor%

Dies weist playerScore auf playerScoreInc zu und erhöht erst danach playerScore . Um zuerst zu erhöhen und dann zuzuweisen, wechseln Sie zu ++playerScore .

Sie können jedoch alles in SQL ausführen, müssen keine Punkte abrufen, sie im Code erhöhen und dann die Datenbanktabelle separat aktualisieren:

%Vor%     
laalto 26.02.2014 09:39
quelle
5

Die anderen Antworten lösen die ursprüngliche Frage, aber die Syntax macht es schwer zu verstehen. Dies ist eine allgemeinere Antwort für zukünftige Zuschauer.

Wie man einen SQLite-Spaltenwert erhöht

SQLite

Die allgemeine SQLite-Syntax ist

%Vor%

Ein Beispiel dafür ist

%Vor%

(Dank an diese Antwort )

Android

Nun, da die allgemeine Syntax klar ist, lasst mich das in die Android-Syntax übersetzen.

%Vor%

TODO

Diese Antwort sollte aktualisiert werden, um update statt execSQL . Siehe Kommentar unten.

    
Suragch 22.10.2016 10:21
quelle
2

Ich denke, das wird funktionieren

%Vor%     
Mo.Ashfaq 26.02.2014 09:41
quelle
0

Haben Sie das Debuggen versucht? Versuchen Sie, diese Zeile zu debuggen:

%Vor%

Der playerScoreInc wird nicht erhöht.

    
Pavenhimself 26.02.2014 09:39
quelle

Tags und Links