# MySQL-Daten Ausgeben



## masu (29. Jun 2005)

Hi,

ich möchte eine Variable Ausgabe der Daten per MySQL realisieren...

```
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
      String url = "jdbc:mysql://" + server + "/" + db;
      con = DriverManager.getConnection(
          url, user, psw);
      sta = con.createStatement();
      ResultSet result = sta.executeQuery(lese);
      ResultSetMetaData dmd = result.getMetaData();
      int columns = dmd.getColumnCount();
      int i = 1;

          while (result.next()) {
            for(i=1;i<columns;i++){
            frameneu.ausgabe.setText(frameneu.ausgabe.getText() + "  " +
                                      result.getString(i)  + "\n" )};
        }
```

<-- So funktioniert die Ausgabe leider nicht richtig  d.h. es wird nicht jede zeile ausgeben!!!

Hat mir jemand einen Vorschlag?


```
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
      String url = "jdbc:mysql://" + server + "/" + db;
      con = DriverManager.getConnection(
          url, user, psw);
      sta = con.createStatement();
      ResultSet result = sta.executeQuery(lese);
      ResultSetMetaData dmd = result.getMetaData();
      int columns = dmd.getColumnCount();
      int i = 1;

          while (result.next()) {
            
            frameneu.ausgabe.setText(frameneu.ausgabe.getText() + "  " +
                                      result.getString(1)  + result.getString(2) "\n" );
        }
```
<-- So würde es funktionieren, doch dabei ist die Ausgabe nicht variable ... d.h. die Tabelle muss immer dabei immer eine bestimmte Anzahl an Spalten besitzen

Mit freundlichen Grüßen
Masu


----------



## Guest (29. Jun 2005)

Beschreibe etwas genauer, was Du mit "Variable Ausgabe der Daten" meinst.
Verwende auch StringBuffer. String + String ist pfui, dazu noch abartig langsam
und speicherintensiv.


----------



## Bleiglanz (29. Jun 2005)

ausserdem <= columncount!


----------



## bambi (29. Jun 2005)

Mach Dir doch einfach 'nen String, der alle Daten enthaelt...

```
ResultSetMetaData dmd = result.getMetaData();
int columns = dmd.getColumnCount();

// StringBuffer erzeugen
StringBuffer allColumns = null;

while (result.next()) {

      // Bin jetzt zu faul zu suchen, wie man den StringBuffer wieder flushen kann...
      allColumns = new StringBuffer(" ");

      for(i=1;i<columns;i++){
           allColumns.append(result.getString(i));
           allColumns.append(" ");
      }

      frameneu.ausgabe.setText(frameneu.ausgabe.getText() + "  " + allColumns.toString() + "\n" )};
}
```


----------



## masu (29. Jun 2005)

@ bambi danke es hat geklappt ...


----------



## bambi (29. Jun 2005)

Immer wieder gern!   

Ach so - Bleiglanz hat Recht. Du musst "<=" verwenden. Hab's jetzt oben vergessen...


----------



## Guest (29. Jun 2005)

Die Zeile würde ich auch noch überdenken. :autsch: 

```
frameneu.ausgabe.setText(frameneu.ausgabe.getText() + "  " + allColumns.toString() + "\n");
```


----------

