# Anzahl der Datensätze abfragen



## Vril (10. Mai 2005)

Hallo,

ich habe eine kleine Datenbankanbindung (Java <-> Access) geschrieben. Jetzt würde ich gerne Abfragen wieviele Datensätze in einer "Tabelle" stehen. Ein Freund hat gemeint das kann ich irgendwie mit einem Count machen?

Weiss aber nicht genau wie das geht? Kann mir da zufällig jemand weiterhelfen?


----------



## bambi (10. Mai 2005)

Muesste sowas sein wie:

```
SELECT COUNT(*) FROM table;
```
Das sollte Dir die Rows in der Tabelle table ausgeben.


----------



## ZZHAT (11. Mai 2005)

Da die Funktion "getFetchSize" bei mir keinen Wert zurückliefert und ich aber auch keine Lust dazu hatte, dass SQL-Stament 
dann immer auf " SELECT COUNT(*)" runterzu brechen, habe ich mir eine Methode geschrieben,
Hier übergebe ich das ResultSet meines SQL-Statments und springe ans Ende des Rows.
Übernehme den Zählerstnad und springe wieder an den Anfang um normal weiter im Programm zu arbeiten.


```
public static int rowCount(ResultSet rs)
    {
        try {
            /*
             * da "getFetchSize" nicht fuktioniert, 
             * ermittel ich so die Anzahl der Datensaetze
             */
            rs.last();					// springe ans Ende der Ergebnisliste
            int count = rs.getRow();	// git den Zaehlerstand zurueck
            rs.beforeFirst();			// springe wieder an den Anfang der Ergebnisliste
            return count;
        } catch (SQLException e) {
            e.printStackTrace();
            return count;
        }
    }
```


Viele Grüße
ZZHAT


----------



## DP (11. Mai 2005)

schöne grüße an die netzlast


----------



## ZZHAT (11. Mai 2005)

Also ich habe weder wenig Datensätze noch Netzproleme damit.
Aber über andere Erahrungswerte lass ich mich gern aufklären.


----------



## DP (11. Mai 2005)

also ich lasse mir lieber einen int durch einen count(*) zurückliefern als x-tausend zeilen im aufgeblähten resultset


----------



## Sky (11. Mai 2005)

Die Frage hier ist, ob ich *nur* die Anzahl der Datensätze brauche -> count(*) ist die bessere Wahl oder ob ich *beides*, also Anzahl der Datensätze und Datensätze selbst brauche, dann ist die Lösung von ZZHAT schon ok ;-)


----------



## DP (11. Mai 2005)

Vril hat gesagt.:
			
		

> Jetzt würde ich gerne Abfragen wieviele Datensätze in einer "Tabelle" stehen.


----------



## Vril (11. Mai 2005)

Also mal danke! So hat es funktioniert:

```
ResultSet rs2 = stmt1.executeQuery (
	    "SELECT COUNT(*) FROM Pizzas");
	
	   rs2.next();	
	
	   int count = (int)rs2.getDouble (1);
```


----------



## ZZHAT (11. Mai 2005)

Soll jeder es so machen, wie er es für seine Situation am Besten hält.
Schade, dass es immer welche gibt, die ihr Antworten gern so formulieren, als hätten sie
die Weissheit mir Löffeln gegessen. Ist ein wenig ermüdend.

Viele Grüße
ZZHAT


----------

