hans_terje Skrevet 11. april 2010 Del Skrevet 11. april 2010 Noen som vet hvordan man kan hente ut radene fra en tabell i JDBC uten å vite hvilke rader som eksisterer? I eksemplet under ser du hvordan jeg spesifiserer hver rad jeg vil hente ut fra tabellen i while-løkken. Det jeg forsøker å gjøre i mitt program er å hente ut radene fra en dynamisk opprettet tabell, så jeg vet dermed ikke hva denne tabellen inneholder. Jeg ønsker også å lagre disse radene i en tabell. package connectToDB; import java.sql.*; public class ConnectToDB { public static void main(String args[]) { Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/"; String db = "test"; String driver = "com.mysql.jdbc.Driver"; String user = "test"; String pass = "test"; try { Class.forName(driver); con = DriverManager.getConnection(url + db, user, pass); st = con.createStatement(); String sql = "select * from test"; rs = st.executeQuery(sql); while (rs.next()) { int id = rs.getInt(1); String name = rs.getString(2); String desc = rs.getString(3); double lon = rs.getDouble(4); double lat = rs.getDouble(5); System.out.println(id + " | " + name + " | " + desc + " | " + lon + " | " + lat); } rs.close(); st.close(); con.close(); } catch (Exception e) { System.out.println(e); } } } Lenke til kommentar
Patton Skrevet 11. april 2010 Del Skrevet 11. april 2010 Bruk ResultSet.getMetaData() Lenke til kommentar
hans_terje Skrevet 22. april 2010 Forfatter Del Skrevet 22. april 2010 Bruk ResultSet.getMetaData() Ok, det fungererer. Jeg klarer nå å finne hvilke kolonner som befinner seg i tabellen. Det neste jeg vil gjøre er å lagre innholdet i hver kolonne i ulike tabeller. F.eks. hvis første kolonne er en INT-kolonne, så vil jeg at dette skal bli lagret i en INT-tabell. Og hvis da neste kolonne er VARCHAR, så vil jeg at alt innholdet der skal lagres i en STRING-tabell. Jeg har forsøkt meg på noen løkker som gjør dette, men nå står jeg helt fast. Noen som har forslag/eksempel på hvordan jeg kan gjøre dette? Lenke til kommentar
quantum Skrevet 22. april 2010 Del Skrevet 22. april 2010 create table STRINGTABLE as select VARCHARKOLONNE from MYTABLE eller insert into STRINGTABLE select VARCHARKOLONNE from MYTABLE ... du må selvsagt gjøre dette i en løkke som går gjennom alle kolonnene og genererer sql-setningene basert på kolonnetype, men det burde jo være grei skuring nå som du har grokka metadataene. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå