Nwlapcug.com


Come ottenere i nomi di colonna in una tabella di Database in Java

Come ottenere i nomi di colonna in una tabella di Database in Java


Java viene fornito con un potente set di classi di database chiamato JDBC. Questi strumenti consentono uno sviluppatore Java, con poche eccezioni, a lavorare con un'ampia varietà di principali database senza alcuna modifica nel codice. Tuttavia, alcune attività, ad esempio il recupero di nomi di colonna da una query, non sono immediatamente intuitivo utilizzando le classi comuni di connessione, istruzione e ResultSet.

Istruzioni

1

Importare le classi necessarie incollando il seguente codice:

import java.sql.Connection
VAI
import java.sql.DriverManager
VAI
importare java.sql.ResultSet
VAI
importazione java.sql.ResultSetMetaData
VAI
import java.sql.SQLException
VAI
importare java.sql.Statement;

2

Connettersi al database. Sarà necessario circondano la maggior parte dei comandi di seguito con un'istruzione try-catch per gestire gli errori di SQLException che potrebbero sorgere.

Connection con = DriverManager.getConnection(\"jdbc:derby://localhost:1527/sample\", \"user\", \"pass\")

VAI

Modificare la parola \"derby\" al nome del programma database si sta utilizzando. Ad esempio, \"mysql\" per MySQL.

Gli ultimi due argomenti nell'esempio, \"user\" e \"pass,\" rappresentano, abbastanza giustamente, il nome utente e la password per il database.

3

Creare ed eseguire una dichiarazione su tale connessione. Recuperare i risultati dell'istruzione come un gruppo di risultati.

Statement s = con.createStatement()

VAI

ResultSet rs = s.executeQuery(\"select * from APP.Customer\")

VAI

Questo esegue una query per ottenere tutte le informazioni dalla tabella clienti nel database di APP. È possibile sostituirlo con qualsiasi comando SQL valido per il database che si sta utilizzando.

4

Ottenere il \"metadata\" per quel gruppo di risultati e memorizzarlo nella classe ResultSetMetaData.

ResultSetMetaData rsm = rs.getMetaData()

VAI

Come si potrebbe sospettare, metadati si riferiscono alle informazioni che descrive la query. Questo include non solo i nomi di colonna, ma anche informazioni come il nome dello schema, i tipi di dati per colonne, e se una colonna consente valori null.

5

Ottenere i nomi di colonna e visualizzarli sullo schermo su righe separate.

for (int x = 1; x <= rsm.getColumnCount(); x++) {
System.out.println(rsm.getColumnName(x))

VAI

}

Consigli & Avvertenze

  • A differenza di quasi ogni cosa altro in Java, i nomi di colonna nella classe ResultSetMetaData JDBC partono da uno piuttosto che zero. Tentando di accedere colonna zero per abitudine genererà un errore di runtime.