Partie III
Langages et outils
298
© Éditions Eyrolles
Méthodes à utiliser
Le tableau suivant indique la méthode préférentielle à utiliser sur l’état courant (objet Statement) en fonction de l’instruction SQL à émettre :
Correspondances de types
Les échanges de données entre variables Java et colonnes des tables Oracle impliquent de
prévoir des conversions de types. D’une manière générale, tout type de donnée MySQL peut
être convertit en un type java.lang.String. Les types numériques trouvent aussi une
correspondance dans les types numériques Java (attention toutefois aux arrondis, dépassement
de capacité ou perte de précision).
Tableau 8-7 États simples
Code Java
Commentaires
Statement etatSimple = cx.createStatement();
Création de l’état.
("CREATE TABLE IF NOT EXISTS
Compagnie(comp VARCHAR(4), nomComp VARCHAR(30),
CONSTRAINT pk_Compagnie PRIMARY KEY(comp))");
Ordre LDD.
("CREATE TABLE IF
NOT EXISTS Avion (immat VARCHAR(6),typeAvion
VARCHAR(15), cap SMALLINT, compa VARCHAR(4),
CONSTRAINT pk_Avion PRIMARY KEY(immat), CONSTRAINT
fk_Avion_comp_Compagnie FOREIGN KEY(compa) REFERENCES
Compagnie(comp))");
Ordre LDD (autre écriture), j contient 0
(aucune ligne n’est concernée).
("INSERT INTO
Compagnie VALUES ('AF','Air France')");
Ordre LMD, k contient 1
(une ligne est concernée).
("INSERT INTO Avion VALUES
('F-WTSS','Concorde',90,'AF')");
("INSERT INTO Avion VALUES
('F-FGFB','A320',148,'AF')");
Ordres LMD (autres écritures).
(10);
Pas plus de 10 lignes
retournées par les prochaines extractions.
ResultSet curseurJava =
("SELECT * FROM Avion");
Chargement d’un curseur
Java.
etatSimple.execute("DELETE FROM Avion");
int l =
();
Ordre LMD, l contient 2
(avions supprimés).
Web
etatSimple.execute
int j = etatSimple.executeUpdate
int k = etatSimple.executeUpdate
etatSimple.execute
etatSimple.execute
etatSimple.setMaxRows
etatSimple.executeQuery
etatSimple.getUpdateCount
Tableau 8-8 Méthodes Java pour les ordres SQL
Instruction SQL
Méthode
Type de retour
CREATE ALTER DROP
executeUpdate
int
INSERT UPDATE DELETE
executeUpdate
int
SELECT
executeQuery
ResultSet
Langages et outils
298
© Éditions Eyrolles
Méthodes à utiliser
Le tableau suivant indique la méthode préférentielle à utiliser sur l’état courant (objet Statement) en fonction de l’instruction SQL à émettre :
Correspondances de types
Les échanges de données entre variables Java et colonnes des tables Oracle impliquent de
prévoir des conversions de types. D’une manière générale, tout type de donnée MySQL peut
être convertit en un type java.lang.String. Les types numériques trouvent aussi une
correspondance dans les types numériques Java (attention toutefois aux arrondis, dépassement
de capacité ou perte de précision).
Tableau 8-7 États simples
Code Java
Commentaires
Statement etatSimple = cx.createStatement();
Création de l’état.
("CREATE TABLE IF NOT EXISTS
Compagnie(comp VARCHAR(4), nomComp VARCHAR(30),
CONSTRAINT pk_Compagnie PRIMARY KEY(comp))");
Ordre LDD.
("CREATE TABLE IF
NOT EXISTS Avion (immat VARCHAR(6),typeAvion
VARCHAR(15), cap SMALLINT, compa VARCHAR(4),
CONSTRAINT pk_Avion PRIMARY KEY(immat), CONSTRAINT
fk_Avion_comp_Compagnie FOREIGN KEY(compa) REFERENCES
Compagnie(comp))");
Ordre LDD (autre écriture), j contient 0
(aucune ligne n’est concernée).
("INSERT INTO
Compagnie VALUES ('AF','Air France')");
Ordre LMD, k contient 1
(une ligne est concernée).
("INSERT INTO Avion VALUES
('F-WTSS','Concorde',90,'AF')");
("INSERT INTO Avion VALUES
('F-FGFB','A320',148,'AF')");
Ordres LMD (autres écritures).
(10);
Pas plus de 10 lignes
retournées par les prochaines extractions.
ResultSet curseurJava =
("SELECT * FROM Avion");
Chargement d’un curseur
Java.
etatSimple.execute("DELETE FROM Avion");
int l =
();
Ordre LMD, l contient 2
(avions supprimés).
Web
etatSimple.execute
int j = etatSimple.executeUpdate
int k = etatSimple.executeUpdate
etatSimple.execute
etatSimple.execute
etatSimple.setMaxRows
etatSimple.executeQuery
etatSimple.getUpdateCount
Tableau 8-8 Méthodes Java pour les ordres SQL
Instruction SQL
Méthode
Type de retour
CREATE ALTER DROP
executeUpdate
int
INSERT UPDATE DELETE
executeUpdate
int
SELECT
executeQuery
ResultSet
