© Éditions Eyrolles
313
chapitre n° 8
Utilisation avec Java
Interface ResultSetMetaData
L’interface ResultSetMetaData est utile pour retrouver dynamiquement des propriétés des
tables qui sont manipulées par des curseurs ResultSet. Cette interface est intéressante pour
programmer dynamiquement des requêtes ou d’autres instructions SQL. Ces fonctions vont
extraire de manière transparente des informations par l’intermédiaire du dictionnaire des données.
Une fois un curseur ResultSet programmé, il suffit de lui appliquer la méthode getMetaData() pour disposer d’un objet ResultSetMetaData. Le tableau suivant présente les
principales méthodes disponibles de l’interface ResultSetMetaData :
ResultSet curseur = etat.executeQuery(
);
curseur.moveToInsertRow();
curseur.insertRow();
curseur.last();
System.out.println("Valeur de la sequence "+
);
cx.rollback();
Insertion via le curseur.
Extraction de la séquence.
curseur.close(); etat.close(); cx.close();
Invalidation de l’ajout.
Fermeture des objets.
} catch(SQLException ex) { … }
Gestion des erreurs.
Tableau 8-29 Récupération d’une séquence à l’aide d’un curseur modifiable (suite)
Code Java
Commentaires
"SELECT
numAff,immat,comp,dateAff FROM bdsoutou.Affreter"
curseur.getInt(1)
Tableau 8-30 Méthodes principales de l’interface ResultSetMetaData
Méthode
Description
int getColumnCount()
Retourne le nombre de colonnes du curseur.
String getColumnName(int)
Retourne le nom de la colonne d’un indice donné du curseur.
int getColumnType(int)
Retourne le code du type (selon la classification de
java.sql.Types) de la colonne d’un indice donné du curseur.
String getColumnTypeName(int) Retourne le nom du type SQL de la colonne d’un indice donné
du curseur.
int isNullable(int)
Indique si la colonne d’un indice donné du curseur peut être
nulle (constantes retournées :
ResultSetMetaData.columnNoNulls,
ResultSetMetaData.columnNullable ou
ResultSetMetaData.columnNullableUnknown).
int getPrecision(int)
Nombre de chiffres avant la virgule de la colonne désignée.
int getScale(int)
Nombre de décimales de la colonne désignée.
String getSchemaName(int)
Nom du schéma propriétaire de la colonne.
String getTableName(int)
Nom de la table de la colonne.
313
chapitre n° 8
Utilisation avec Java
Interface ResultSetMetaData
L’interface ResultSetMetaData est utile pour retrouver dynamiquement des propriétés des
tables qui sont manipulées par des curseurs ResultSet. Cette interface est intéressante pour
programmer dynamiquement des requêtes ou d’autres instructions SQL. Ces fonctions vont
extraire de manière transparente des informations par l’intermédiaire du dictionnaire des données.
Une fois un curseur ResultSet programmé, il suffit de lui appliquer la méthode getMetaData() pour disposer d’un objet ResultSetMetaData. Le tableau suivant présente les
principales méthodes disponibles de l’interface ResultSetMetaData :
ResultSet curseur = etat.executeQuery(
);
curseur.moveToInsertRow();
curseur.insertRow();
curseur.last();
System.out.println("Valeur de la sequence "+
);
cx.rollback();
Insertion via le curseur.
Extraction de la séquence.
curseur.close(); etat.close(); cx.close();
Invalidation de l’ajout.
Fermeture des objets.
} catch(SQLException ex) { … }
Gestion des erreurs.
Tableau 8-29 Récupération d’une séquence à l’aide d’un curseur modifiable (suite)
Code Java
Commentaires
"SELECT
numAff,immat,comp,dateAff FROM bdsoutou.Affreter"
curseur.getInt(1)
Tableau 8-30 Méthodes principales de l’interface ResultSetMetaData
Méthode
Description
int getColumnCount()
Retourne le nombre de colonnes du curseur.
String getColumnName(int)
Retourne le nom de la colonne d’un indice donné du curseur.
int getColumnType(int)
Retourne le code du type (selon la classification de
java.sql.Types) de la colonne d’un indice donné du curseur.
String getColumnTypeName(int) Retourne le nom du type SQL de la colonne d’un indice donné
du curseur.
int isNullable(int)
Indique si la colonne d’un indice donné du curseur peut être
nulle (constantes retournées :
ResultSetMetaData.columnNoNulls,
ResultSetMetaData.columnNullable ou
ResultSetMetaData.columnNullableUnknown).
int getPrecision(int)
Nombre de chiffres avant la virgule de la colonne désignée.
int getScale(int)
Nombre de décimales de la colonne désignée.
String getSchemaName(int)
Nom du schéma propriétaire de la colonne.
String getTableName(int)
Nom de la table de la colonne.
