User Tools

Site Tools


linuxbog.old:java:java-jdbc-kom-med-db
Linux - Friheden til at programmere i Java: Version 0.7.20040516 - 2020-12-31
forrige Kapitel 20. JDBC - databaseadgang næste

20.2. Kommunikere med databasen

Når vi har en forbindelse, kan vi oprette et “statement”-objekt, som vi kan sende kommandoer og forespørgsler til databasen med

Statement stmt = forb.createStatement();

Der kan opstå forskellige undtagelser af typen SQLException, der skal fanges.

20.2.1. Kommandoer

SQL-kommandoer som INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE og ALTER TABLE, der ikke giver et svar tilbage i form af data, sendes med executeUpdate()-metoden[1].

Her opretter vi f.eks. tabellen “kunder”:

stmt.executeUpdate("create table KUNDER (NAVN varchar(32), KREDIT float)" );

… og indsætter et par rækker

stmt.executeUpdate("insert into KUNDER values('Jacob', -1799)");
stmt.executeUpdate("insert into KUNDER values('Brian', 0)");

Oftest har vi data i variabler, så vi skal sætte en streng sammen, der giver den rigtige SQL-kommando:

String navn = "Hans";
int kredit = 500; //// indsæt data fra variabler// stmt.executeUpdate("insert into KUNDER values('" //+navn+// "', " //+kredit+// ")");

20.2.2. Forespørgsler

SQL-forespørgslen SELECT udføres med metoden executeQuery().

ResultSet rs = stmt.executeQuery("select NAVN, KREDIT from KUNDER");

Den returnerer et ResultSet-objekt, der repræsenterer svaret på forespørgslen. Data hentes som vist herunder

while ( //rs.next()// )
  {
    String navn = //rs.getString("NAVN")// ;
    double kredit = //rs.getDouble("KREDIT")// ;
    System.out.println(navn+" "+kredit);
  }

Man kalder altså next() for at få næste række i svaret, læser de enkelte celler ud fra kolonnenavnene, hvorefter man går videre til næste række med next() osv. Når next() returnerer false, er der ikke flere rækker at læse.

Slutbemærkning:
[1] SQL fra JDBC er normalt forpligtigende, d.v.s. en kommando kan ikke fortrydes når den først er givet. I Avancered-afsnittet i slutningen af kapitlet vises hvordan automatisk forpligtigelse (eng.: auto-commit) kan slås fra.

forrige hjem næste
JDBC - databaseadgang op Samlet eksempel
linuxbog.old/java/java-jdbc-kom-med-db.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.