© Éditions Eyrolles
305
chapitre n° 8
Utilisation avec Java
Parcours
Le code suivant (SELECTnavigable.java) présente une utilisation du curseur navigable
curseurNaviJava. Le deuxième test renvoie false, car, après l’ouverture, le curseur
n’est pas positionné sur le premier enregistrement, et la méthode next le place selon le sens
du parcours du curseur.
Créez des curseurs non navigables quand vous voulez rapatrier de très gros volumes de données (taille du cache limitative côté client). Fragmentez vos requêtes quand vous voulez manipuler des curseurs navigables. Les prochaines versions de MySQL et Connector/J devraient
prendre en charge une gestion côté serveur des curseurs navigables.
Tableau 8-20 Parcours d’un curseur navigable
Code Java
Commentaires
try {…
Statement etatSimple =createStatement
Création de
l’état.
ResultSet curseurNaviJava = etatSimple.executeQuery("SELECT
immat,typeAvion,cap FROM Avion");
Création et
chargement du
curseur.
if (
)
System.out.println("Curseur positionné au début");
Test renvoyant
true.
if ( curseurNaviJava.isFirst() )
System.out.println("Curseur positionné sur le 1er déjà");
Test renvoyant
false.
while(
)
{if (
)
System.out.println("1er avion : ");
if (
)
System.out.println("Dernier avion : ");
System.out.print("Immat: "+curseurNaviJava.getString(1));
System.out.println(" type : "+curseurNaviJava.getString(2));}
Parcours du
curseur en affichant les premier et dernier
enregistrements.
if (
)System.out.println("Curseur
positionné après la fin");
Test renvoyant
true.
if (
)
if (
)
{System.out.prinln("Avant dernier avion : "+
curseurNaviJava.getString(1));}
Affiche l’avantdernier enregistrement.
if (
)
{System.out.println("First avion : "+
curseurNaviJava.getString(1));}
Affiche le premier enregistrement.
if (
)
{System.out.println("Last avion : "+
curseurNaviJava.getString(1));}
Affiche le dernier enregistrement.
curseurNaviJava.close();
Ferme le curseur.
} catch(SQLException ex) { … }
Gestion des
erreurs.
Web
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
curseurNaviJava.isBeforeFirst()
curseurNaviJava.next()
curseurNaviJava.isFirst()
curseurNaviJava.isLast()
curseurNaviJava.isAfterLast()
curseurNaviJava.previous()
curseurNaviJava.previous()
curseurNaviJava.first()
curseurNaviJava.last()
305
chapitre n° 8
Utilisation avec Java
Parcours
Le code suivant (SELECTnavigable.java) présente une utilisation du curseur navigable
curseurNaviJava. Le deuxième test renvoie false, car, après l’ouverture, le curseur
n’est pas positionné sur le premier enregistrement, et la méthode next le place selon le sens
du parcours du curseur.
Créez des curseurs non navigables quand vous voulez rapatrier de très gros volumes de données (taille du cache limitative côté client). Fragmentez vos requêtes quand vous voulez manipuler des curseurs navigables. Les prochaines versions de MySQL et Connector/J devraient
prendre en charge une gestion côté serveur des curseurs navigables.
Tableau 8-20 Parcours d’un curseur navigable
Code Java
Commentaires
try {…
Statement etatSimple =createStatement
Création de
l’état.
ResultSet curseurNaviJava = etatSimple.executeQuery("SELECT
immat,typeAvion,cap FROM Avion");
Création et
chargement du
curseur.
if (
)
System.out.println("Curseur positionné au début");
Test renvoyant
true.
if ( curseurNaviJava.isFirst() )
System.out.println("Curseur positionné sur le 1er déjà");
Test renvoyant
false.
while(
)
{if (
)
System.out.println("1er avion : ");
if (
)
System.out.println("Dernier avion : ");
System.out.print("Immat: "+curseurNaviJava.getString(1));
System.out.println(" type : "+curseurNaviJava.getString(2));}
Parcours du
curseur en affichant les premier et dernier
enregistrements.
if (
)System.out.println("Curseur
positionné après la fin");
Test renvoyant
true.
if (
)
if (
)
{System.out.prinln("Avant dernier avion : "+
curseurNaviJava.getString(1));}
Affiche l’avantdernier enregistrement.
if (
)
{System.out.println("First avion : "+
curseurNaviJava.getString(1));}
Affiche le premier enregistrement.
if (
)
{System.out.println("Last avion : "+
curseurNaviJava.getString(1));}
Affiche le dernier enregistrement.
curseurNaviJava.close();
Ferme le curseur.
} catch(SQLException ex) { … }
Gestion des
erreurs.
Web
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
curseurNaviJava.isBeforeFirst()
curseurNaviJava.next()
curseurNaviJava.isFirst()
curseurNaviJava.isLast()
curseurNaviJava.isAfterLast()
curseurNaviJava.previous()
curseurNaviJava.previous()
curseurNaviJava.first()
curseurNaviJava.last()
