La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

JDBC Réaliser en Java un programme client dune Base de Données.

Présentations similaires


Présentation au sujet: "JDBC Réaliser en Java un programme client dune Base de Données."— Transcription de la présentation:

1 JDBC Réaliser en Java un programme client dune Base de Données

2 Un accès universel aux sources de données Programme Client Programme dorsal (serveur) Magasin de données Moteur IHM Noyau de lapplication Programmes de couche intermédiaire (middle-tier software)

3 API JDBC (Java Data Base Connectivity) et pilotes JDBC Programme Java Source de données compatible ODBC (ACCESS, EXCEL,…) Type 1 : Pont JDBC-ODBC API ODBC Pilote ODBC

4 La meilleure solution de connexion Type 4 Programme Java Source de données (MySQL, Oracle, PostGres…) Pilote JDBC

5 Pour le projet GLPOO… BIG-GROCER Comptoir (base ACCESS) Pont JDBC-ODBC API ODBC Pilote ODBC

6 Déclarer la source de données Comptoir au gestionnaire ODBC de Windows (1)

7 Déclarer la source de données Comptoir au gestionnaire ODBC de Windows (2)

8 Déclarer la source de données Comptoir au gestionnaire ODBC de Windows (3)

9 Déclarer la source de données Comptoir au gestionnaire ODBC de Windows (4)

10 La base de données Comptoir

11 import java.sql.*; public class EssaiJDBC_ODBC { public static void main (String [ ] args) { Connection conn = null; try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection ("jdbc:odbc:Comptoir","",""); System.out.println ("Connexion etablie avec COMPTOIR"); } catch (Exception e) {System.err.println ("Pas de connexion à COMPTOIR");} finally { if (conn != null) { try { conn.close ( ); System.out.println ("Connexion terminee"); } catch (Exception e) { } } Un programme client qui se connecte à la base COMPTOIR

12 Variante : connexion à une base mySQL try { String url = "jdbc:mysql://localhost/grocer"; Class.forName ("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection (url, "toto", "toto"); System.out.println ("Connexion etablie avec GROCER"); }

13 import java.sql.*; public class EssaiSELECT { public static void main (String [ ] args) { Connection conn = null; try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection ("jdbc:odbc:Comptoir","",""); System.out.println ("Connexion etablie avec COMPTOIR"); Statement s = conn.createStatement ( ); s.executeQuery ("SELECT Nom, [N° Employé], [Date de naissance] FROM Employés"); ResultSet rs = s.getResultSet ( ); while (rs.next ( )){ String nomVal = rs.getString ("Nom"); int numéro = rs.getInt("N° Employé"); Date date = rs.getDate("Date de naissance"); System.out.println ("N° Employé : " + numéro + " Nom : " + nomVal + " Date de naissance : " + date);} rs.close ( ); s.close ( ); } catch (Exception e) {System.err.println ("Pb avec SELECT");} finally { if (conn != null) { try { conn.close ( ); System.out.println ("Connexion terminee");} catch (Exception e) {System.err.println ("Pb de fermeture de connexion");}}}}} Exécution dune requête SQL

14 Résultat du SELECT

15 Exécution dune instruction SQL Statement s = conn.createStatement ( ); s.executeUpdate ("INSERT INTO Messagers VALUES (4,'La Poste', ' ')"); s.executeQuery ("SELECT * FROM Messagers"); ResultSet rs = s.getResultSet ( ); while (rs.next ( )){ int numéro = rs.getInt("N° messager"); String nom = rs.getString("Nom du messager"); String tel = rs.getString("Téléphone"); System.out.println ("N° messager : " + numéro + " Société : " + nom + " Téléphone : " + tel); } rs.close ( ); s.close ( );

16 Affichage graphique dune table (1)

17 Affichage graphique dune table (2) import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class EssaiTableGraphique extends JFrame{ String [ ] [ ] données; public static void main (String [ ] args) { EssaiTableGraphique etg = new EssaiTableGraphique(100); etg.setSize(400,400); etg.show( ); } public EssaiTableGraphique(int nbLignes) { Connection conn = null; try { Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection ("jdbc:odbc:Comptoir","",""); System.out.println ("Connexion etablie avec COMPTOIR"); Statement s = conn.createStatement ( ); s.executeQuery ("SELECT [Nom du produit],[Prix unitaire], [Unités en stock] FROM Produits"); ResultSet rs = s.getResultSet ( ); données = new String [nbLignes][3]; int i = 0; while (rs.next ( )){ données[i][0] = rs.getString("Nom du produit"); données[i][1] = rs.getString ("Prix unitaire"); données[i][2] = rs.getString("Unités en stock"); i++; }

18 Affichage graphique dune table (3) rs.close ( ); s.close ( ); } catch (Exception e) {System.err.println ("Pb SQL");} finally { if (conn != null) { try { conn.close ( ); System.out.println ("Connexion terminee"); } catch (Exception e) { } } String[ ] nomsColonnes = {"produit", "Prix unitaire", "Quantité en stock"}; JTable table = new JTable(données, nomsColonnes); table.setPreferredScrollableViewportSize(new Dimension(500, 70)); JScrollPane scrollPane = new JScrollPane(table); getContentPane().add(scrollPane, BorderLayout.CENTER); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); }

19 Utilisation de l'éditeur de requête d'ACCESS (1) Sélectionner "Requêtes" dans le panneau de gauche, cliquez sur le bouton "Nouveau" dans la barre d'outils et sélectionnez "Assistant requête simple"

20 Utilisation de l'éditeur de requête d'ACCESS (2) Choisir la table sur laquelle porte la "requête simple" (un SELECT) et sélectionner les champs visés par la requête

21 Utilisation de l'éditeur de requête d'ACCESS (3) Choisissez une requête détaillée, puis "Modifier la structure"

22 Utilisation de l'éditeur de requête d'ACCESS (4) Ajoutez vos contraintes sur les valeurs des champs (comme sous EXCEL avec les "zones de critères" pour les "filtrages élaborés")

23 Utilisation de l'éditeur de requête d'ACCESS (5) Déroulez le menu "Affichage" de la fenêtre principale d'ACCESS et choisissez l'item "Mode SQL"…vous n'avez plus qu'à copier le code SQL dans votre code Java…


Télécharger ppt "JDBC Réaliser en Java un programme client dune Base de Données."

Présentations similaires


Annonces Google