[Erledigt] ID der letzten Frage rauskriegen

Hallo,

ich möchte in meinem Programm anzeigen, wieviele Fragen Tabelle zb. “thema1” hat. Das möchte ich machen, damit ich sehen kann wieviel Fragen ich schon beantwortet habe und wieviele Fragen mir noch bleiben. Also so : Frage 3/45. Gibt es eine Methode die so was rauskriegen kann? Oder muss ich dort eine Schleife reinbauen mit einem Zähler die solange läuft bis ich null kriege?

Danke

du has doch alles in einer DB machs doch darüber SELECT COUNT(*) FROM thema

Hi :smiley:

jap ist alles eine DB mit vielen Tabellen.

Ich verstehe nicht was du mit „drüber“ meinst. Was macht genau Select Count(*), gibt mir das die Letze ID von der Tabelle an? Ich weiss noch nicht genau wie ich das machen soll, was ich unten geschrieben habe.

In der GUI Klasse werde ich neues Objekt vom Typ JLabel machen und dann bräuchte ich 2 Variablen, eine die ständig ++ macht, und andere die mir die letze ID von der Tabelle anzeigt. So wollte ich es machen bzw so habe ich mir das vorgestellt. Kann man das anders machen?

Danke

na nach was sieht der Befehl COUNT aus :wink: (richtig er zählt)
das gibt dir nicht die letzte ID zurück weil was machst du wenn du mittendrin eine löschst? das zählt alle Einträge.
Das Ergebnis kannst du als Maximum nehmen und für das andere nimmst du einfach eine Variable die du immer ++ machst und das beides packst du in ein Label

Bevor ich jetzt anfange mein Programm kaputt zu machen, frage ich lieber nochmal nach :smiley:

Ich habe ein Objekt res vom Typ ResultSet mit dem ich Verbindung zu Tabellen herstelle. Dann brauche ich jetzt ein weiteres Objekt also res2?
Also so was?
res2 = statement.executeQuery(„SELECT COUNT(*) FROM fragen“); Wenn das richtig ist, wie soll ich weiter machen? 2 Methoden schreiben set und get um die Nummer der Letzen ID rauszukriegen?

öh ich weiß ja nicht genau wie du das hast aber das ResultSet stellt keine Verbindung zur Datenbank her, es beinhaltet nur die Daten ausder Datenbank.
Daher schmeiß ich es nach der Abfrage immer wieder weg und so kannst du das auch machen.
Ich weiß nicht was du mit einem set für die ID willst, willst du wirklich nur die letzte ID haben dann musst du SELECT MAX(id) FROM fragen machen das gibt dir dann die höchste ID, aber was machst du wenn es nicht von 0 bis … geht sondern zwischendurch mal eine Zahl fehlt oder zwei?
Daher würd ich eher COUNT(*) machen das zählt alle Datensätze

public String getCountThema1(){
ResultSet res = conn.createStatement().executeQuery(“SELECT COUNT(*) FROM fragen;”);

rturn …
}

danke