Ich habe eine Datenbank und ich möchte in einer Leiste die Nummer des Aktuellen Datensatzes und die anzahl aller Datensätze anzeigen . Wie kann ich das machen ? Brauche einen guten Rat von euch .
[HIGHLIGHT="SQL"]SELECT COUNT(id) AS summe From adressen[/HIGHLIGHT]
entweder COUNT(id) AS anzahl oder SUM(id) AS summe - gut ist eher was für klein karrierte Menschen wie mich
aber dennoch würde ich COUNT(*) bevorzugen ... da der OP evt. die passende Spalte anders genannt hat ... es gibt Leute die fragen bei solchen Details noch mal nach - wenn etwas nicht geklappt hat -_-
so weit ich verstanden habe , muß ich noch eine spalte summe in die Datenbank einführen....Diese splate zählt dann die summe der eingetragenen splaten.
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 einsetze
Die Funktion gibt dir doch die Anzahl der Datensätze zurück. Das Ergebniss weißst du einer Variable zu und fügst diese dann in das Textfeld.
Update:
Aus der Db kannst du nur Datensätze herraushollen nehmen wir mal an du hollst alle und speicherst diese in einem Array. Die größe dieses Arrays ist deine ges. Anzahl der Datensätze. Wie du die Darstellung in der Leiste realisierst hat nix mit SQL zutun sodern muss im Programm stattfinden.
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 ?
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 ?
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.
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.
Mit Bezug auf professionelle RDBMS oder ORDBMS (Oracle et al.) sind in der Vergangenheit eine Reihe von mehr oder weniger intensiven Diskussionen darüber geführt worden, welche Abfragemethode zum Zählen der Datensätze einer Relation am günstigsten ist.
Hierzu kann der folgende Link für Oracle ein wenig Licht in die Sache bringen:
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.
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.
Ich denke das kann nicht so kompliziert sein, weil wir in der Schule noch ganz kleine anfänger sind.Und so komplizierte Aufgaben geben die uns bestimmt nicht . In dieser Applikation habe ich einen Dialog-Fenster wo mit ich die Daten ändern kann . Und gahz untem am Fenster soll diese Leiste zur Anzeige der Datensatznummer stehen.
Das wichtigste ist (habe heute noch mal den Lehrer gefragt )
Datensatz 1 von 4 zum beispiel
das Bedeutet :
Wir haben in der Datenbank 4 Datensätze ( oder 4 verschiedene Datein mit der id-Nummer 1 ,2 3, 4 )
und die Leiste zeigt mir
den ersten Datensatz ( oder id nummer ) von insgesamt 4 Datensatzen die inder Datenbank sind.