sqlAbfrage1=" SELECT COUNT(1) AS Summe FROM adressen";
meints du so was , die spalte eins ist bei mir die ID-Nummer von den Datensätzen
sqlAbfrage1=" SELECT COUNT(ID <- Der Name der Tabelle) AS Summe FROM adressen
public int countDatensaetze() throws SQLException{
Connection theConnection = null;
PreparedStatement theStatement = null;
ResultSet theResult = null;
try{
theConnection = null/* Connection zu DB hier eintragen*/;
theStatement = theConnection.prepareStatement("SELECT COUNT(id) AS summe From adressen");
theResult = theStatement.executeQuery();
while(theResult.next()){
return theResult.getInt("summe");
}
}catch(Exception e){
e.printStackTrace();
} finally{
theResult.close();
theStatement.close();
theConnection.close(); /* DB Verbindung wird hier geschlossen */
}
return 0;
}
Code:public int countDatensaetze() throws SQLException{ Connection theConnection = null; PreparedStatement theStatement = null; ResultSet theResult = null; try{ theConnection = null/* Connection zu DB hier eintragen*/; theStatement = theConnection.prepareStatement("SELECT COUNT(id) AS summe From adressen"); theResult = theStatement.executeQuery(); while(theResult.next()){ return theResult.getInt("summe"); } }catch(Exception e){ e.printStackTrace(); } finally{ theResult.close(); theStatement.close(); theConnection.close(); /* DB Verbindung wird hier geschlossen */ } return 0; }
Habs nicht getestet aber sollte gehen.
Beruf verfehlt - ich sollte Hellseher werdenNegativ summe ist nur eine interne SQL Variable und sollte evtl. wie mogel vorgeschlagen hat anzahl heißen
ja - allerdings eine etwas andere ... ich komme immer schön ins schlingern mit den Abfragen ... "nimm mal das aus der Tabelle und das aus dieser Tabelle und mische das mal ein bischen" ... wobei ich SQL nicht so oft einsetzeSQL ist eine Programmiersprache und ich denke du hast gerade mal an der Oberfläche gekratzt, mit SQL kann man so einige schöne Sachen machen.
Negativ summe ist nur eine interne SQL Variable und sollte evtl. wie mogel vorgeschlagen hat anzahl heißen
EDIT:
SQL ist eine Programmiersprache und ich denke du hast gerade mal an der Oberfläche gekratzt, mit SQL kann man so einige schöne Sachen machen.
public int countDatensaetze() throws SQLException{
Connection theConnection = null;
PreparedStatement theStatement = null;
ResultSet theResult = null;
try{
theConnection = null/* Connection zu DB hier eintragen*/;
theStatement = theConnection.prepareStatement("SELECT COUNT(id) AS summe From adressen");
theResult = theStatement.executeQuery();
while(theResult.next()){
return theResult.getInt("Summe");
}
}catch(Exception e){
e.printStackTrace();
} finally{
theResult.close();
theStatement.close();
theConnection.close(); /* DB Verbindung wird hier geschlossen */
}
return 0;
}
----------------------
Was ist denn "summe" hier ?
try{
int theCount = countDatensaetze();
System.out.println("Anzahl: " + theCount);
catch(SQLException e){
e.printStackTrace();
}
Ich hab so eine Vermutung, du keinen Ahnung vom Programmieren. Ich würde dir erstmal empfehlen die Gundlagen zu lernen.
Die Funktion hat einen Rückgabetyp der ist int.
Füge das mal in deine Main ein.
Code:try{ int theCount = countDatensaetze(); System.out.println("Anzahl: " + theCount); catch(SQLException e){ e.printStackTrace(); }
Nimm dir mal 20 min und schreib mal was du vor hast. Wenn du in der Schule bist kann die Aufgabe nicht so kompiziert sein.
Ich hab keine Lust dir alles aus der Nase zu ziehen.
Hast Du es denn schon geschafft, Deine 10 Datensätze aus der Datenbank zu holen?
Wenn Du das hast, kann man die dann immer noch zählen... Ich vermute mal, dass Du aber nichtmal die 10 hast.
Von daher solltest Du eher in Richtung "Datenbankverbindung" forschen.
Ich denke immernoch das der falsche Ansatz verfolgt wird.
Wenn man die Anzahl der Datensätze in einer Leiste anzeigen will und mit einem Weiter-Button zum nächsten Datensatz will. Bringt es nix die Anzahl der Objekte der Datenbank zu kennen. Sondern mann muss sich die gewüschten Daten in einen Cache laden. Die Größe des Cache ist das was interessiert.
Das Problem ist man muss davon ausgehen das die ID der Datensätze fortlaufend sind.
Datensate 1 ID 1
Datensate 2 ID 3
Datensate 3 ID 4
Datensate 4 ID 5
Die Leiste wird dann so aussehen Datensatz 5 von 4.
Blub schon habt ihr ein Problem. Der Ansatz mit dem Cache ist eigentlich eher einfach zu realisieren.
PS: Ich finde die Aufgabe eigentlich schon recht komplex für eine Schulaufgabe wenn man keinen Plan von Java hat.