Hallo, ich möchte mir gerne mithilfe eines ResultSets die Namen der Tabellen innerhalb meiner Datenbank ausgeben lassen. Das klappt mithilfe der While - Schleife auch ganz super.
Mein Problem ist, dass ich nicht ganz weiß, wie ich mein String Array, innerhalb der While-Schleife füllen soll. So wie es jetzt im Code ist, steht im Array immer nur der letzte Tabellenname. Mir ist schon auch klar, dass der Array Eintrag immer überschrieben wird, ich finde nur keinen Weg, immer einen neuen Eintrag zu dem Array hinzuzufügen mit dem jeweils neuen Tabellennamen.
Ich gehe davon aus, dass ich die Größe des ResultSets nicht kenne, weshalb ich auch keine Schleife mit <AnzahlTabellen oder so machen kann...
Mein Problem ist, dass ich nicht ganz weiß, wie ich mein String Array, innerhalb der While-Schleife füllen soll. So wie es jetzt im Code ist, steht im Array immer nur der letzte Tabellenname. Mir ist schon auch klar, dass der Array Eintrag immer überschrieben wird, ich finde nur keinen Weg, immer einen neuen Eintrag zu dem Array hinzuzufügen mit dem jeweils neuen Tabellennamen.
Ich gehe davon aus, dass ich die Größe des ResultSets nicht kenne, weshalb ich auch keine Schleife mit <AnzahlTabellen oder so machen kann...
Java:
public class TablesInPG {
CPostgre P = new CPostgre();
Connection pcon = P.con;
String[] TableNames = {};
public String[] getTableNames() {
try {
DatabaseMetaData dbmd = pcon.getMetaData();
String[] Table = {"TABLE"}; // Nur Ergebnisse vom Typ "TABLE" anzeigen
ResultSet tN = dbmd.getTables(null, "public", null, Table);
while (tN.next()) {
System.out.println(tN.getString(3));
TableNames = new String[]{tN.getString(3)}; //WIE LEGE ICH HIER IMMER EINEN NEUEN EINTRAG AN?
//Speichere die TabellenNamen in einem String-Array
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
return TableNames;
}
}