23. april 2004 - 15:57Der er
7 kommentarer og 1 løsning
udskrive alle tabelnavnene
Jeg er lige begyndt at lege med jdbc. Hvis man skal hente alle tabel navnene i en database og udskrive dem, hvordan gør man så?? Ville gerne se eksempel på på selve query'ien og hvordan man så henter dem. Har hørt noget med at man skal bruge metadata og "getcoloumnName"??
Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
Hvis du vil vide hvilke felter en given query returnerer så ka du bruge rs.getMetaData() og så getColumnCount() og getColumnName() på det ResultSetMetaData som returneres fra den.
Hvis du vil vide hvilke tabeller der er i databasen, så skal du lave en speciel query, der så vidt jeg ved er database specifik. Hvis du fortælle rhvilken database du bruger, så kan vi sikkert finde en løsning.
indtil videre har jeg fumlet mig frem til denne løsning: public void getColName(String ur1, String TabelInfo) { String[] col = {}; try { con = DriverManager.getConnection(ur1, "", ""); stmt = con.createStatement(); svar = stmt.executeQuery(TabelInfo); ResultSetMetaData meta = svar.getMetaData(); int ncol = meta.getColumnCount();
for (int i = 1; i < ncol; i++) { col[i] = meta.getColumnName(i); System.out.println(col[i].toString()); } } catch(SQLException e) { System.out.println("SQL fejl :" + e.getMessage()); } } men den virker ikke, får følgende fejl: java.lang.ArrayIndexOutOfBoundsException: 1
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.