Witam, mam problem, jak użyć zapytania sql w javie tak, aby wyciągał nazwy tabeli jak również zliczał ilość kolumn w tabeli oraz wyciągał ich nazwy. Z góry dziękuję za pomoc
0
0
Ale dla jakiej bazy? Bo rozwiazania generycznego to chyba nie ma. Są konkretne bazy które umożliwiają takie zapytania do tabel z metadanymi (np. Oracle).
0
Akurat jest to baza Oracle
1
No to manual i czytaj :P Masz np.
SELECT table_name FROM all_tables
Masz też widok USER_TAB_COLUMNS
do kolumn w tabeli.
0
Jak używasz JDBC możesz użyć metadanych bazy http://tutorials.jenkov.com/jdbc/databasemetadata.html
0
a jest zapytanie umożliwiające wyciągnięcie nazw kolumn z danej tabeli?
0
Oczywiście. Jest w tutorialu, który podlinkowałem http://tutorials.jenkov.com/jdbc/databasemetadata.html#listing-columns-in-a-table
0
Chciałem, żeby wyświetlało mi nazwy kolumny w jTextArea tylko nie działa mi jak powinien, ktoś może rzucić okiem co jest nie tak?
jTable1.setModel(tm);
DatabaseMetaData databaseMetaData = SQLConnection.connection.getMetaData();
String catalog = null;
String schemaPattern = null;
String tableNamePattern = null;
String[] types = null;
ResultSet result = databaseMetaData.getTables(
catalog, schemaPattern, tableNamePattern, types );
String tableName ="";
while(result.next()) {
tableName = result.getString(3);
}
tableNamePattern = "my_table";
String columnNamePattern = null;
ResultSet result1 = databaseMetaData.getColumns(
catalog, schemaPattern, tableNamePattern, columnNamePattern);
String columnName ="";
while(result1.next()){
columnName = result1.getString(4);
int columnType = result1.getInt(5);
}
jTextArea1.setText(columnName+"\n"+tableName);
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
wynikiem tego kodu jest:
XDB$RCLIST_V