Object[][] füllen

devel

Grünschnabel
Hallo,

ich schreibe eine Methode, die Daten aus der Datenbank liest und in ein Object[][] speichern soll.

Das ist der Code, der die Daten liest

try{
stmt=con.createStatement();
rs=stmt.executeQuery("SELECT etwas FROM tabelle where bedingung;");

// Get meta data:
ResultSetMetaData rsmd = rs.getMetaData();

int i, n = rsmd.getColumnCount();
// Print table content:
while( rs.next() ) {
for(i=1; i<=n; i++ )
{
System.out.println(rs.getString(i));
}
}
} catch( Exception ex ) {
System.out.println( ex );
}

vorerst gebe ich die Daten nur aus, ich weiss aber nicht, wie ich das Objekt füllen soll.
Kann mir bitte jemand helfen?

Vielen Dank schon mal im Voraus!
 
Hi,

Erstmal: Willkommen im Forum!
Allerdings mache ich dich hiermit mal auf die [Code] oder [code=java] - Tags aufmerksam ;)

So nun zu dem Problem:
So in etwa?

Java:
   try{
      stmt=con.createStatement();
      rs=stmt.executeQuery("SELECT etwas FROM tabelle where bedingung;");

      // Get meta data:
      ResultSetMetaData rsmd = rs.getMetaData();

      int i = 0;
      int n = rsmd.getColumnCount();
      int j;

      // Print table content:
      while( rs.next() ) {
         for(j=1; j<=n; j++ )
         {
            deinObject[i][j] = rs.getString(j);
         }
      i++;
      }
   } catch( Exception ex ) {
   System.out.println( ex );
   }

Gruß
Erik
 
Zuletzt bearbeitet von einem Moderator:
Du musst das Array aber noch per "new Object[int][int];" erzeugen, bevor du es füllen kannst. Dafür solltest du aber erst die Größe kennen. Hier kannst du es rausfinden, indem du die Datensätze zählst. Solltest du die genaue Anzahl nicht kennen, solltest du dir mal die Collections (insbesonderst ArrayList) anschauen. Ach ja, eventuell solltest du bessere Variablennamen verwenden ('n' könntest du z. B. genauso gut comlumnCount nennen), und eventuell 'j' in der for devinieren, damit wird sofort klar, dass es sich um eine reine Schleifenzählvariable handelt. Aber da du aus der Datenbank eh nur Strings ausließt wäre es vielleicht sinnvoller den Output in einen String-Array zu speichern, anstatt mit min. 8 Zeichen zu casten.
 
Zurück