# Anzahl der zurückgelieferten Datensätze



## Doomrunner (8. Apr 2004)

Hi,

bin relativ neu in Java drin und versuche gerade mal ein wenig mit JDBC und mysql herumzuspielen. Habe jetzt folgende Methode:


```
public static void ausgabe ()
    throws SQLException {
        String query = "SELECT * FROM unternehmensdb WHERE firma NOT LIKE \'\' ORDER BY firma";
        ResultSet rs = stmt.executeQuery(query);
        
        DATA = new String[5000][3];
        int zaehler = 0;        
        while (rs.next()) {
            DATA[zaehler][0] = rs.getString("firma");
            zaehler++;
        }
    }
```

Wie kann ich bei der Abfrage bestimmen, wie viele Datensätze zurückgeliefert werden, damit ich die Größe des Arrays entsprechend anpassen kann?


----------



## me.toString (8. Apr 2004)

Also die Menge der Datensätze kannst du mittels ResultSetMetaData (oder ähnlich) ganz leicht rausbekommen. Aber an deiner Stelle würde ich kein Array nehemn sondern ein Vector. Da packst du einfach deine Objekte (in deinem Fall sind's ja nur Strings) mit 

```
v.add( rs.getString("firma") );
```
rein - um die Größe brauchst du dir keine Gedanken machen ... dafür is's ja ein Vector !
Später kannst du dann in aller Ruhe die Daten rausholen:

```
for( int i=0;i<v.size();i++){
   String meinString = (String)v.get(i);
   // mache was mit dem String
}
```

Ganz wichtig ist der Cast auf deinen Objekttyp wenn du v.get() machst, da diese Methode nur ein Object zurückliefert. Wenn's noch Probleme gibt ... melde dich.


----------



## Freakazoid (19. Apr 2004)

ich würd auch nen Vector nehmen,aber es geht auch etwas weniger schön mit nem Array:

```
//rs ist das ResultSet......
rs.last();
int anzahl = rs.getRow();
rs.beforeFirst();
```


----------

