Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

JDBC - Accès aux données

Accès aux données avec Java Database Connectivity (JDBC) Encyclopédie


Accès aux données

Une fois la connexion à la base de données établie, il est possible de demander des informations sur le nom des tables et le contenu de chaque colonne, ainsi que d'exécuter des requêtes SQL afin de récupérer des informations, d'en ajouter ou bien de les modifier.

accès aux données avec JDBC

Les objets utilisables pour obtenir des informations sur la base sont :

  • DataBaseMetaData: Un objet contenant les informations sur la base de données en général (des métadonnées), c'est-à-dire le nom de la table, les index, la version de la base, ...
  • ResultSet: Un objet contenant les informations sur une table ou le résultat d'une requête. L'accès aux données se fait colonne par colonne, mais il est éventuellement possible d'accèder indépendamment à chaque colonne par son nom
  • ResultSetMetaData: Un objet contenant des informations sur le nom et le type des colonnes d'une table
A chacun de ces objets est associé un grand nombre de méthodes permettant d'obtenir des informations très détaillées sur les éléments de la base de données.

Toutefois, seul un nombre réduit des méthodes de chacun de ces objets permet d'obtenir les informations les plus importantes sur les données.

L'objet ResultSet est l'objet le plus important de la technologie JDBC, car il s'agit d'une abstraction de la table ou de la réponse à une requête (généralement un sous-ensemble d'une table). Ainsi, presque toutes les méthodes et requêtes retournent les données sous forme d'un objet ResultSet. Cet objet contient un nombre donné de colonnes repérées chacune par un nom, ainsi qu'une ou plusieurs lignes contenant les données, et auxquelles il est possible d'accèder séquentiellement une à une du haut vers le bas. Ainsi, afin d'exploiter un objet ResultSet, il est nécessaire de récupérer le nombre de colonnes de celui-ci, à l'aide de l'objet ResultSetMetaData.

ResultSetMetaData rsmd;

rsmd = results.getMetaData();

numcols = rsmd.getColumnCount();
Lors de l'obtention d'un objet ResultSet, le descripteur pointe avant la première ligne.

La méthode next() permet d'obtenir chacune des lignes suivantes, et retourne false lorsqu'il ne reste plus aucune ligne. Etant donné que l'extraction de données de la base peut générer des erreurs, il est indispensable d'inclure ces manipulations dans un bloc d'exception (try).

Les données contenues dans le ResultSet peuvent être obtenues sous différentes formes selon le type de données stockées dans chaque colonne. Le contenu de chaque colonne peut être obtenu soit par le nom de celle-ci, soit par son numéro (sachant que les numéros de colonne commencent à 1 et non à 0).

Les principales méthodes de l'objet ResultSet sont les suivantes :

  • getInt(int): récupère sous forme d'entier le contenu d'une colonne désignée par son numéro
  • getInt(String): récupère sous forme d'entier le contenu d'une colonne désignée par son nom
  • getFloat(int): récupère sous forme de flottant le contenu d'une colonne désignée par son numéro
  • getFloat(String): récupère sous forme de flottant le contenu d'une colonne désignée par son nom
  • next(): déplace le pointeur de ligne sur la ligne suivante
  • close(): "ferme" l'objet
  • getMetaData(): retourne les métadonnées de l'objet (l'objet ResultSetMetaData)

L'objet ResultSetMetaData (obtenu de l'objet ResultSet) permet de connaître le nombre, le nom et le type de chaque colonne à l'aide des méthodes suivantes :

  • getColumnCount(): récupère le nombre de colonnes
  • getColumnName(int): récupère le nom de la colonne spécifiée
  • getColumnLabel(int): récupère le label de la colonne spécifiée
  • getColumnType(int): récupère le type de données de la colonne spécifiée
L'objet DataBaseMetaData permet d'obtenir des informations sur la base de données entière. Il sert notamment à récupérer le nom des tables contenues dans la base de données. De plus, étant donné que de nombreuses bases de données supportent des variantes du langage SQL, il existe de nombreuses méthodes associées à l'objet DataBaseMetaData permettant de connaître les méthodes SQL supportées par la base.

Discussions pertinentes trouvées dans le forum

29/08 20h46 java pilotes jdbc [Java] Pilotes JDBC Développement 15/09 20h49->jebok1
05/01 16h57 connection jdbc problème de connection avec JDBC Développement 23/04 10h32->fabien29088111
18/09 01h11 odbc jdbc ODBC et JDBC Développement 19/09 18h15->darkhorkeu10
26/07 00h23 objets jdbc Objets JDBC Développement 07/08 22h06->Evangelion8
13/04 11h44 installer pilote jdbc mysql installer le pilote jdbc pour mysql ? Webmastering 13/04 14h33->yserman7
24/04 18h42 config mini linux jdbc Config mini Linux +jdbc Développement 24/04 23h00->Titeuf7
05/08 18h02 jdbc jdbc Développement 06/08 10h06->choubaka6
30/08 11h43 oracle jdbc driver Oracle jdbc driver Développement 31/08 12h24->Canard0076
28/06 16h07 bases données jdbc Bases de données avec JDBC Windows 29/06 11h10->Nath5
07/10 08h46 java jdbc odbc JAVA JDBC:ODBC Développement 08/07 12h51->el aasri5
Discussion fermée Problème résolu JDBC Plus de discussions sur « JDBC »

Ce document intitulé « JDBC - Accès aux données » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.