Java kommt mit einer Reihe von leistungsfähigen Datenbank-Klassen genannt JDBC . Diese Tools ermöglichen eine Java- Entwickler, mit nur wenigen Ausnahmen , mit einer Vielzahl von großen Datenbanken ohne Änderungen im Code arbeiten. Allerdings sind einige Aufgaben, wie z. B. das Abrufen von Spaltennamen aus einer Abfrage , nicht sofort intuitiv mit der gemeinsamen Verbindung, Statement und ResultSet Klassen . Anleitung
1
Import die notwendigen Klassen durch Einfügen der folgenden in den Code :
import java.sql.Connection , Import java.sql.DriverManager , Import java.sql.ResultSet ; Import java.sql.ResultSetMetaData , Import java.sql.SQLException , Import java.sql.Statement ;
2
Verbindung zur Datenbank her . Sie müssen zu umgeben die meisten Befehle in den folgenden Schritten mit einer try-catch- Anweisung mit SQLException Fehler , die auftreten könnten umzugehen
Anschluss con = DriverManager.getConnection ( " jdbc: . Derby ://localhost : 1527/sample "," user "," pass " );
ändern das Wort" Derby " auf den Namen des Datenbank-Programm Sie verwenden. Zum Beispiel , "pass ", " mysql " für MySQL.
Die letzten beiden Argumente in dem Beispiel "user" und stellen , sinnigerweise, den Benutzernamen und das Passwort für die Datenbank .
Seite 3
erstellen und Ausführen einer Erklärung auf dieser Verbindung . Rufen Sie die Ergebnisse der Anweisung als ResultSet
Statement s = con.createStatement (); . ResultSet rs = s.executeQuery ( " select * from APP.Customer ");
läuft eine Abfrage , um alle Informationen aus der Customer-Tabelle in der APP- Datenbank zu erhalten . Sie können es mit einem beliebigen gültigen SQL -Befehl für die von Ihnen verwendete Datenbank zu ersetzen.
4
Erhalten Sie den " Metadaten " für dieses ResultSet und speichern sie in der ResultSetMetaData Klasse.
ResultSetMetaData RSM = rs.getMetaData ();
Wie Sie vielleicht vermuten , bezieht Metadaten zu den Informationen , die Ihrer Suchanfrage beschreibt . Dazu gehören nicht nur Spaltennamen , aber auch Informationen wie Name des Schemas , Datentypen für Spalten , und ob eine Spalte NULL-Werte zulässt .
5
Sie die Spaltennamen und drucken Sie sie auf den Bildschirm auf separaten linien und
for (int x = 1; x <= rsm.getColumnCount (); x + +). {System.out.println ( rsm.getColumnName (x)) ;}