hvordan man får kolonnenavne i en database tabel i Java

Indlæg af Dan Dejligbjerg     opdateret: 2011-09-18

Java kommer med et kraftfuldt sæt af databasen klasser kaldes JDBC . Disse værktøjer giver en Java- udvikler , med kun få undtagelser , at arbejde med en bred vifte af større databaser uden nogen ændringer i kode . Men nogle opgaver , såsom hente kolonnenavne fra en forespørgsel , er ikke umiddelbart intuitive hjælp af den fælles Connection , Statement , og ResultSet klasser
1
Import de nødvendige klasser ved at indsætte følgende i din kode : .
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
forbindelse til databasen . Du skal omgive det meste af kommandoerne i følgende trin med en try-catch- erklæring til at håndtere SQLException fejl , der kunne opstå .
Connection con=DriverManager. getConnection ( " jdbc : derby : //localhost : 1527/sample " , " bruger " , " pass " ) ;
Skift ordet " derby " til navnet på den database program , du bruger . For eksempel , " mysql " for MySQL .
De to sidste argumenter i eksemplet , "bruger " og " pass " repræsenterer , passende nok , brugernavn og adgangskode til din database .
3 .

Opret og køre en redegørelse for denne forbindelse. Hente resultaterne af erklæringen som en ResultSet .
Erklæring s=con. createStatement () ;
ResultSet rs=s. executeQuery ( " select * from APP. Customer " ) ;
Dette kører en forespørgsel at få alle oplysninger fra kunden tabellen i APP databasen . Du kan erstatte det med en gyldig SQL- kommando til den database, du bruger .
4 .
Få " metadata " for at ResultSet og opbevar den i ResultSetMetaData klassen .
ResultSetMetaData rsm=rs. getMetaData () ;
Som du måske har mistanke om , metadata henviser til de oplysninger , der beskriver din forespørgsel . Dette omfatter ikke kun kolonnenavne , men også oplysninger som skemanavnet , datatyper for søjler , og om en kolonne tillader NULL-værdier .
5 .
Få kolonnenavne og udskrive dem til skærmen på separate linjer .

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

gode råd og advarsler


  • I modsætning til næsten alt andet i Java , kolonnen navne i JDBC ResultSetMetaData klasse starter på den ene frem for nul . Forsøger at få adgang kolonne nul ud af vane vil generere en runtime fejl .


  • Previous:en tutorial på SQL indlejret søgninger Next:sql søgning tutorial



     

    Kommentarer

    Code:
    change