Avatar billede dresen Nybegynder
14. maj 2003 - 16:33 Der er 3 kommentarer og
1 løsning

Hvilken klasse leverer definitionen til createStatement

Hej dér.

Jeg er begyndt at rode med JDBC, og er i denne sammenhæng stødt på noget, som jeg ikke kan forklare.

Jeg har en note der viser, hvordan man opretter forbindelsen til jdbc:odbc ved følgende udtryk:

Connection con = DriverManager.getConnection("jdbc:odbc:myDB");

Derefter skal jeg så lave et Statement objekt ved følgende udtryk:

Statement s = con.createStateMent();

Og her er vi så nået til mit problem, for jeg ved ikke, hvorfra metoden createStatement returnerer sit Statement objekt. Da Connection er et interface, må det være en klasse der har implementeret Connection, men hvilken???
Avatar billede arne_v Ekspert
14. maj 2003 - 16:51 #1
Både Connection, Statement og alle de andre JDBC klasser er interfaces
defineret i JDBC standarden.

Den der skriver JDBC driveren laver så nogle klasser der
implementerer disse interfaces.

Fordi du kun bruger standard interfacene, så er du ikke bundet
til en specifik implementation i driveren. Du skifter bare URL'en
ud og så kører du op mod en Oracle database i.s.f. en MySQL
database.

Smart !

Hvis du gerne vil se hvordan en implementation ser ud kan du bare
udpakke JDBC driver jar filen og decompile class filerne.

Men det er hele pointen i JDBC at du ikke skal vide noget
om de implementations klasser.
Avatar billede jakoba Nybegynder
14. maj 2003 - 16:53 #2
Hvad med at følge sporet: DriverManager.getConnection det må føre til en "new ClassName(...) et sted.
Avatar billede arne_v Ekspert
14. maj 2003 - 17:01 #3
Hvis man bare vil vide klasse navnet, så bør:

conn.getClass().getName()
stmt.getClass().getName()

sladre om det.
Avatar billede dresen Nybegynder
14. maj 2003 - 17:03 #4
tak for det!

vil prøve ad
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester