Java levereras med en kraftfull uppsättning av databas klasser kallas JDBC . Dessa verktyg möjliggör en Java- utvecklare , med bara några få undantag , att arbeta med ett brett utbud av stora databaser utan några ändringar i koden . Men vissa uppgifter, till exempel hämtning av kolumnnamn från en fråga , är inte direkt intuitivt med gemensamma Connection , Statement , och klasser ResultSet . Instruktioner
1
Importera de nödvändiga klasserna genom att klistra in följande i din kod :
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
Anslut till databasen . Du måste omge de flesta kommandon i följande steg med en try-catch uttalande att hantera SQLException fel som kan uppstå
Connection con = DriverManager.getConnection ( " jdbc : . Derby ://localhost : 1527/sample " , " user " , " pass " ) ,
Ändra ordet " derby " till namnet på den databas program du använder . Till exempel , " mysql " för MySQL .
De två sista argumenten i exemplet , " användare " och " pass ", representerar , lämpligt nog , användarnamn och lösenord för databasen .
Sida 3
Skapa och köra ett uttalande om detta hänseende . Hämta resultatet av uttalandet som ett ResultSet
Uttalande s = con.createStatement ( ) , . ResultSet rs = s.executeQuery ( " select * from APP.Customer " ) ;
Detta går en fråga för att få all information från Kunden tabellen i APP databasen . Du kan ersätta det med något giltigt SQL -kommandot för den databas du använder .
4
Få " metadata " för att ResultSet och förvara den i ResultSetMetaData klassen .
ResultSetMetaData rsm = rs.getMetaData ( ) ;
som ni kanske misstänker , hänvisar metadata till den information som beskriver din fråga . Detta innefattar inte bara kolumnnamn , men också information som schemat namn, datatyper för kolumnerna , och huruvida en kolumn tillåter null-värden .
5
Få kolumnnamn och skriva ut dem på skärmen på separata linjer
for (int x = 1 , x <= rsm.getColumnCount (); x + +) . {System ( rsm.getColumnName (x) );}