Hallo.
Ich möchte aus einer Datenbank daten auslesen und sie in einem zweidimensionalem Array speichern, damit ich damit nachher einfach eine JTable daraus machen kann.
Ich habe dazu die folgende Methode geschrieben.
Die Daten aus der DB werden korrekt eingelesen.
Nun bin ich mir aber nicht sicher, ob mein Konstrukt zum speichern in Array[][] richtig ist, und wie ich eigentlich einen zweidimensionalen Array (zum Testen) auf der Konsole ausgeben kann?
Muss ja irgendwie mit ner for - Schleife gehen, oder? In meine Büchern steht dazu leider nix, und hier hab ich bei der Suche auf die Schnelle auch nix gefunden.
Hier die Methode:
Ich möchte aus einer Datenbank daten auslesen und sie in einem zweidimensionalem Array speichern, damit ich damit nachher einfach eine JTable daraus machen kann.
Ich habe dazu die folgende Methode geschrieben.
Die Daten aus der DB werden korrekt eingelesen.
Nun bin ich mir aber nicht sicher, ob mein Konstrukt zum speichern in Array[][] richtig ist, und wie ich eigentlich einen zweidimensionalen Array (zum Testen) auf der Konsole ausgeben kann?
Muss ja irgendwie mit ner for - Schleife gehen, oder? In meine Büchern steht dazu leider nix, und hier hab ich bei der Suche auf die Schnelle auch nix gefunden.
Hier die Methode:
Code:
public String[][] getAllCustomer()
{
connection = new DatabaseConnection().connectToDatabase();
String[][] allCustomer;
try
{
// Die Parameter sind nötig, dass die ResultSet scrollable ist und so die Anzahl der Reihen
// berechnet werden kann mit last() und beforeFirst()
Statement st = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String getAllCustomerQuery = "SELECT * FROM kunde";
ResultSet rs = st.executeQuery(getAllCustomerQuery);
// Anzahl Reihen in 'rs' herausfinden
rs.last();
int rowCount = rs.getRow();
rs.beforeFirst();
allCustomer = new String[rowCount][6];
while ( rs.next() )
{
// Ausgabe nur zum testen
System.out.println(rs.getString(1) + " - " + rs.getString(2) + " - " + rs.getString(3) + " - " +
rs.getString(4) + " - " + rs.getString(5) + " - " + rs.getString(6));
System.out.println("RowCount: " + rowCount);
// Array beginnt bei 0, nicht bei 1 !!!
int i=0;
String s1 = rs.getString(1);
allCustomer[i][0] = s1;
String s2 = rs.getString(2);
allCustomer[i][1] = s2;
String s3 = rs.getString(3);
allCustomer[i][2] = s3;
String s4 = rs.getString(4);
allCustomer[i][3] = s4;
String s5 = rs.getString(5);
allCustomer[i][4] = s5;
String s6 = rs.getString(6);
allCustomer[i][5] = s6;
i++;
}
connection.close();
}
catch (SQLException e)
{
allCustomer = null;
System.err.println("Error while executing the getAllCustomer query.");
e.printStackTrace();
}
return allCustomer;
}