Java levereras med en kraftfull uppsättning av databas klasser kallas JDBC . Dessa verktyg möjliggör en Java- utvecklare , med endast några få undantag , att arbeta med ett brett utbud av stora databaser utan några förändringar i koden . Men vissa uppgifter, såsom att hämta kolumn namn från en fråga , är inte omedelbart intuitiv att använda gemensam anslutning , Statement , och ResultSet klasser
Du behöver : .
Computer
Visual Basic 6 programvara
1
Import nödvändiga klasser genom att klistra in följande i koden : .
import java . sql. Connection ;
import java. sql. DriverManager ;
import java. sql. ResultSet ;
import java. sql. ResultSetMetaData ;
import java. sql. SQLException ,
Importera 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 "," Användare " , " 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 .
3 .
Skapa och köra ett uttalande om detta hänseende . Hämta resultatet av ett uttalande som ett ResultSet .
uttalande s=con. createStatement () ;
ResultSet rs=s. executeQuery ( " SELECT * FROM APP. Customer " ) ;
Detta driver en fråga 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änkt, metadata avses information som beskriver din fråga . Detta inte bara omfattar kolumnnamn , men också information som schemat namn , datatyper för kolumnerna , och om en kolumn tillåter null-värden .
5 .
Få kolumnnamnen och skriva ut dem till skärmen på separata rader .
for (int x=1 , x <= rsm. getColumnCount () ; x + + ) {
System. out. println ( rsm. getColumnName (x) ) ;
}
tips och varningar
skillnad från nästan allt annat i Java , kolumnnamnen i JDBC ResultSetMetaData klassen börjar med en i stället för noll . Försöker få tillgång till kolumn noll av gammal vana kommer att generera en runtime error .