Java i SQL

0

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

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1