IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Connexion à une base de donnée à partir de l'applet


Sujet :

Applets Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut Connexion à une base de donnée à partir de l'applet
    salut tout le monde,
    j'ai un problème qui me dérange. la connexion de l'applet et la base de données.
    En fait avec appletviewer il y a connexion avec le serveur et la base de données j'arrive a enregistrer dans la base, mais avec les navigateurs sans succès.
    Alors pour plus clarté je joins les trois programme dont le client puis le service et enfin le serveur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
     
    programme client :
    import java.applet.*;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.*;
     
    public class Programme extends Applet{
     
      // Les objets globaux
     
      TextField txNom, txPostnom, txAdresseCandidat, txNationalite, txNomEcoleFrequente, txSectionSuiviHumanite, txPourcentage, txAnneeAcademique; 
      Choice chSexe, chEtatCivil, chReferenceSection;
     
      // variables globales
      String strNom, strPostnom, strSexe, strEtatCivil, strAdresseCandidat, strNationalite, strNomEcoleFrequente, strSectionSuiviHumanite,
      strPourcentage, strReferenceSection, strAnneeAcademique, requete1, requete2;
     
      public void init(){
        // disposition d'éléments
     
        setLayout(null);
    	setBackground(Color.gray);
     
        // Différentes fontes à utiliser
     
        Font fonte1= new Font("TimesRoman", Font.PLAIN, 14);
        Font fonte2= new Font("TimesRoman", Font.BOLD, 20);
        Font fonte3= new Font("TimesRoman", Font.ITALIC + Font.BOLD, 14);
     
        // En-tête :
     
    	 JLabel lbIcone = new JLabel();
    	 lbIcone.setIcon(new ImageIcon("D:\\pido\\jdk1.5.0_14\\bin\\LOGO ISTA.jpg"));
         add(lbIcone);
         lbIcone.setBounds(300, 80, 100, 100);
     
        Label lbRDC = new Label("REPUBLIQUE DEMOCRATIQUE DU CONGO");
    	lbRDC.setBounds(30, 30, 420, 25);
    	add(lbRDC); lbRDC.setFont(fonte2);
     
    	Label lbMINIST = new Label("MINISTERE DE  L'EDUCATION UNIVERSITAIRE ET SUPERIEURE");
    	lbMINIST.setBounds(30,60,700,25);
    	add(lbMINIST); lbMINIST.setFont(fonte2);
     
    	Label lbEntete = new Label("FORMULAIRE D'INSCRIPTION A L'ISTA");
    	lbEntete.setBounds(100,190,700,28); add(lbEntete); lbEntete.setFont(fonte2);
     
    	Label lblIdentite = new Label("I. IDENTITE");
        add(lblIdentite); lblIdentite.setBounds(10, 230, 90, 23);
    	lblIdentite.setFont(new Font("Dialog", 1, 16));
     
        Label lblEtudeSecondaireFaite = new Label("II. ETUDES SECONDAIRES FAITES");
       	add(lblEtudeSecondaireFaite); lblEtudeSecondaireFaite.setBounds(10, 490, 300, 23);
        lblEtudeSecondaireFaite.setFont(new Font("Dialog", 1, 16));
     
    	Label lblChoixFormule = new Label("VI. CHOIX FORMULES");
        add(lblChoixFormule); lblChoixFormule.setBounds(10, 640, 200, 23);
        lblChoixFormule.setFont(new Font("Dialog", 1, 14));
     
     
        // Labels et Textfields
        Label lbNom = new Label("1. NOM"); lbNom.setBounds(30, 270, 60, 22);
        add(lbNom); lbNom.setFont(fonte3);
    	txNom = new TextField(); txNom.setBounds(120, 270, 240, 22);
        add(txNom); txNom.setFont(fonte1);
     
    	Label lbPostnom = new Label("2. POSTNOM"); lbPostnom.setBounds(30, 310, 100, 22);
        add(lbPostnom); lbPostnom.setFont(fonte3);
    	txPostnom = new TextField(); txPostnom.setBounds(140, 310, 300, 22);
        add(txPostnom); txPostnom.setFont(fonte1);
     
    	Label lbSexe = new Label("3. SEXE"); lbSexe.setBounds(30, 350, 60, 22);
        add(lbSexe); lbSexe.setFont(fonte3);
    	chSexe = new Choice(); chSexe.setBounds(110, 350, 140, 22);
        add(chSexe); chSexe.setFont(fonte1);
        chSexe.addItem(" "); chSexe.addItem("Masculin"); chSexe.addItem("Féminin");
     
        Label lbEtatCivil = new Label("4. ETAT CIVIL"); lbEtatCivil.setBounds(350, 350, 120, 22);
        add(lbEtatCivil); lbEtatCivil.setFont(fonte3);
    	chEtatCivil = new Choice(); chEtatCivil.setBounds(490, 350, 200, 22);
        add(chEtatCivil); chEtatCivil.setFont(fonte1); 
        chEtatCivil.addItem(" ");chEtatCivil.addItem("MARIE(E)"); 
    	chEtatCivil.addItem("CELIBATAIRE");chEtatCivil.addItem("DIVORCE");chEtatCivil.addItem("VEUF(VE)");
     
    	Label lbAdresseCandidat = new Label("5. ADRESSE DU CANDIDAT"); lbAdresseCandidat.setBounds(30, 400, 200, 22);
        add(lbAdresseCandidat); lbAdresseCandidat.setFont(fonte3);
    	txAdresseCandidat = new TextField(); txAdresseCandidat.setBounds(250, 400, 300, 22);
        add(txAdresseCandidat); txAdresseCandidat.setFont(fonte1);
     
    	Label lbNationalite = new Label("6. NATIONALITE"); lbNationalite.setBounds(30, 450, 130, 22);
        add(lbNationalite); lbNationalite.setFont(fonte3);
    	txNationalite = new TextField(); txNationalite.setBounds(180, 450, 280, 22);
        add(txNationalite); txNationalite.setFont(fonte1);
     
    	Label lbNomEcoleFrequente = new Label("7. NOM ECOLE SECONDAIRE FREQUENTE"); lbNomEcoleFrequente.setBounds(30, 530, 320, 22);
        add(lbNomEcoleFrequente); lbNomEcoleFrequente.setFont(fonte3);
    	txNomEcoleFrequente = new TextField(); txNomEcoleFrequente.setBounds(350, 530, 350, 22);
        add(txNomEcoleFrequente); txNomEcoleFrequente.setFont(fonte1);
     
    	Label lbSectionSuiviHumanite = new Label("8. SECTION SUIVIE AUX HUMANITES"); lbSectionSuiviHumanite.setBounds(30, 570, 250, 22);
        add(lbSectionSuiviHumanite); lbSectionSuiviHumanite.setFont(fonte3);
    	txSectionSuiviHumanite = new TextField(); txSectionSuiviHumanite.setBounds(290, 570, 340, 22);
        add(txSectionSuiviHumanite); txSectionSuiviHumanite.setFont(fonte1);
     
    	Label lbPourcentage = new Label("9. POURCENTAGE DU DIPLOME"); lbPourcentage.setBounds(30, 600, 230, 22);
        add(lbPourcentage); lbPourcentage.setFont(fonte3);
    	txPourcentage = new TextField(2); txPourcentage.setBounds(290, 600, 120, 22);
        add(txPourcentage); txPourcentage.setFont(fonte1);
     
    	Label lbReferenceSection = new Label("10. REFERENCE SECTION"); lbReferenceSection.setBounds(30, 670, 150, 22);
        add(lbReferenceSection); lbReferenceSection.setFont(fonte3);
    	chReferenceSection = new Choice(); chReferenceSection.setBounds(180, 670, 190, 22);
        add(chReferenceSection); chReferenceSection.setFont(fonte1); 
        chReferenceSection.addItem(" "); chReferenceSection.addItem("PREPARATOIRE"); chReferenceSection.addItem("ELECTRONIQUE"); 
    	chReferenceSection.addItem("ELECTRICITE"); chReferenceSection.addItem("AVIATION");chReferenceSection.addItem("GENIE ELECTRIQUE");
     
    	Label lbAnneeAcademique = new Label("11. ANNEE ACADEMIQUE"); lbAnneeAcademique.setBounds(30, 700, 180, 22);
        add(lbAnneeAcademique); lbAnneeAcademique.setFont(fonte3);
    	txAnneeAcademique = new TextField(4); txAnneeAcademique.setBounds(220, 700, 230, 22);
        add(txAnneeAcademique); txAnneeAcademique.setFont(fonte1);
     
        Label lblJeCertifie = new Label("Je certifie en mon honneur que les renseignement fournis ci-haut sont exacts");
        add(lblJeCertifie); lblJeCertifie.setBounds(30, 750, 520, 23); lblJeCertifie.setFont(new Font("Dialog", 2, 14));
     
     
    	// Button Soumettre
        Button btSoumettre = new Button("Soumettre");   btSoumettre.setBounds(560,410,140,27);
        add(btSoumettre); btSoumettre.setFont(fonte1);
     
        // Button Annuler
        Button btAnnuler = new Button("Annuler");   btAnnuler.setBounds(560,460,140,27);
        add(btAnnuler); btAnnuler.setFont(fonte1);
     
        // Clic sur le bouton Annuler
     
        btAnnuler.addActionListener(
          new ActionListener(){
            public void actionPerformed(ActionEvent e){
              txNom.setText(null); txPostnom.setText(null);  txAdresseCandidat.setText(null); txNationalite.setText(null); 
    		  txNomEcoleFrequente.setText(null); txSectionSuiviHumanite.setText(null); txPourcentage.setText(null); txAnneeAcademique.setText(null); 
            }
          }
        );
     
        // Clic sur le bouton soumettre
     
        btSoumettre.addActionListener(
          new ActionListener(){
            public void actionPerformed(ActionEvent e){
               soumission(e); 
            }
          }
        );
     
      } // Fin méthode init
     
      public void soumission(ActionEvent evt){
     
        //récupération des données dans les variables globales
     
    	strNom = txNom.getText(); strPostnom = txPostnom.getText(); strAdresseCandidat = txAdresseCandidat.getText(); 
    	strNationalite = txNationalite.getText(); strNomEcoleFrequente =txNomEcoleFrequente.getText(); 
    	strSectionSuiviHumanite = txSectionSuiviHumanite.getText(); strPourcentage = txPourcentage.getText(); 
    	strAnneeAcademique = txAnneeAcademique.getText(); strSexe = chSexe.getSelectedItem(); 
    	strEtatCivil = chEtatCivil.getSelectedItem(); strReferenceSection = chReferenceSection.getSelectedItem();
     
        // contruction de la requête sql
        requete1 = "insert into CANDIDAT (NOM, POSTNOM, SEXE, ETATCIVIL, ADRESSECANDIDAT, NATIONALITE, NOMECOLESECONDAIREFREQUENTE,"+
    	"SECTIONHUMANITESUIVIE, POURCENTAGE, REFERENCESECTION, ANNEEACADEMIQUE)" + " values ('" + strNom +"','"+ strPostnom +"','"+ strSexe +
    	"','"+ strEtatCivil +"','"+ strAdresseCandidat +"','"+ strNationalite +"','"+ strNomEcoleFrequente +"','"+ strSectionSuiviHumanite +
    	"','"+ strPourcentage +"','"+ strReferenceSection +"','"+ strAnneeAcademique + "')";
     
    	requete2 = "select * from CANDIDAT where NOM ='"+strNom+"' and POSTNOM ='"+strPostnom+"' and SEXE ='"+strSexe+
    	"' and ETATCIVIL ='"+strEtatCivil+"' and ADRESSECANDIDAT ='"+strAdresseCandidat+"' and NATIONALITE ='"+strNationalite+
    	"' and NOMECOLESECONDAIREFREQUENTE ='"+strNomEcoleFrequente+"' and SECTIONHUMANITESUIVIE ='"+strSectionSuiviHumanite+
    	"' and POURCENTAGE ='"+strPourcentage+"' and REFERENCESECTION ='"+strReferenceSection+"' and ANNEEACADEMIQUE ='"+strAnneeAcademique+"'";
     
        // Connection au serveur
        Socket socket = null;
    	try{
    		socket = new Socket("127.0.0.1", 8080);
    	} catch(Exception e){
    		JOptionPane.showMessageDialog(null, "Echec connexion serveur", 
    		"Echec connexion serveur" +e, JOptionPane.WARNING_MESSAGE);
    		System.exit(1); 
    	}
     
    	// Création du flux d'entrée et sortie
    	PrintWriter Out = null;
    	BufferedReader In = null;
    	try{
    		In = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    		Out = new PrintWriter(socket.getOutputStream(),true);
    	} catch(Exception e){
    		JOptionPane.showMessageDialog(null, "Echec création flux de sortie", 
    		"Echec création flux de sortie", JOptionPane.WARNING_MESSAGE);
    		System.exit(2);
    	}
        // envoi de la requête et réception notofocation serveur
     
    	Out.println(requete1);
    	Out.println(requete2);
    	String reponse = "";
    	try{
    		reponse = In.readLine();
    	} catch (Exception e){
    		JOptionPane.showMessageDialog(null, "Erreur lecture réponse du serveur", "Notification",
    		JOptionPane.WARNING_MESSAGE);
    	}
    	JOptionPane.showMessageDialog(null, reponse, "Notification", JOptionPane.INFORMATION_MESSAGE);
      }// Fin soumission
     
    }
    PROGRAMME SERVICE


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    import java.net.*;
    import java.io.*;
    import java.sql.*;
     
    public class EnregistrementBD extends Thread{
        Socket socket = null; // Pour y stocker la connexion cliente (la socket du client )
    	public EnregistrementBD(Socket sClient){
    		socket = sClient; // Reception de la socket du client de la part du serveur
    	}
    	public void run(){
    		// Création du flux d'entrée et de sortie
    		BufferedReader In = null;
    		PrintWriter Out = null;
    		try{
    			In = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    			Out = new PrintWriter(socket.getOutputStream(), true);
    		} catch (Exception e){
    			System.out.println("Echec creation flux d'entree");
    			System.exit(1);
    		}
    		 // Lecture requête cliente
    		 String requeteEnreg = "";
    		 String requeteConslt = "";
    		try{
    			requeteEnreg = In.readLine();
    			requeteConslt = In.readLine();
    		} catch (Exception e){
    			System.out.println("Echec lecture requete cliente");
    			System.exit(3);
    		} 
     
    		// Connexion à la base de données
    		Connection con = null;
    		Statement stat = null;
    		ResultSet rs;
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // interface JDBC-ODBC
    			con = DriverManager.getConnection("jdbc:odbc:FistonBD", "", ""); // connexion BD
    			stat = con.createStatement();
    			// Enregistrement de dans la base de donnée
    			int i = stat.executeUpdate(requeteEnreg);
     
    			// Consultation de la clé primaire de l'enregistrement effectué
    			rs = stat.executeQuery(requeteConslt);
    			// Elaboration de la notification
    			String notification = "Numéro d'enregistrement "; 
    			if(rs.next()) notification += rs.getString(1);
    			// Envoi notification
    			Out.println(notification);
     
    		} catch (Exception e){
    			System.out.println("Echec Connexion BD:" + e);
    			System.exit(4);
    		} 
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import java.net.*;
    public class Serveur{
    	public static void main(String[] args){
    		ServerSocket socketServeur = null;
     
    		// Lancement du serveur au port 2000
    		try{
    			socketServeur = new ServerSocket(8080);
    		} catch (Exception e){
    			System.out.println("Echec du lancement du serveur");
    			System.exit(1);
    		}
     
    		// Ecoute de la connexion cliente
    		Socket sClient = null; // pour y garder la connexion cliente reçue
    		try{
    			sClient = socketServeur.accept(); // reception d'une connexion cliente
    		} catch (Exception e){
    			System.out.println("Echec reception connexion cliente");
    			System.exit(2);
    		}
     
    		// Envoi de cette connexion au service et nouvelle écoute
    		while(sClient != null){
    		    // Connexion cliente confiée au service EnregistrementBD
    			new EnregistrementBD(sClient).start();
     
    			// Ecoute de la connexion suivante
    			try{
    				sClient = socketServeur.accept(); // reception d'une connexion cliente
    			} catch (Exception e){
    				System.out.println("Echec reception connexion cliente");
    				System.exit(3);
    			} // try	
    		} // while
    	} // main
    } // Classe

    PROGRAMME SERVEUR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    import java.net.*;
    import java.io.*;
    import java.sql.*;
     
    public class EnregistrementBD extends Thread{
        Socket socket = null; // Pour y stocker la connexion cliente (la socket du client )
    	public EnregistrementBD(Socket sClient){
    		socket = sClient; // Reception de la socket du client de la part du serveur
    	}
    	public void run(){
    		// Création du flux d'entrée et de sortie
    		BufferedReader In = null;
    		PrintWriter Out = null;
    		try{
    			In = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    			Out = new PrintWriter(socket.getOutputStream(), true);
    		} catch (Exception e){
    			System.out.println("Echec creation flux d'entree");
    			System.exit(1);
    		}
    		 // Lecture requête cliente
    		 String requeteEnreg = "";
    		 String requeteConslt = "";
    		try{
    			requeteEnreg = In.readLine();
    			requeteConslt = In.readLine();
    		} catch (Exception e){
    			System.out.println("Echec lecture requete cliente");
    			System.exit(3);
    		} 
     
    		// Connexion à la base de données
    		Connection con = null;
    		Statement stat = null;
    		ResultSet rs;
    		try{
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // interface JDBC-ODBC
    			con = DriverManager.getConnection("jdbc:odbc:FistonBD", "", ""); // connexion BD
    			stat = con.createStatement();
    			// Enregistrement de dans la base de donnée
    			int i = stat.executeUpdate(requeteEnreg);
     
    			// Consultation de la clé primaire de l'enregistrement effectué
    			rs = stat.executeQuery(requeteConslt);
    			// Elaboration de la notification
    			String notification = "Numéro d'enregistrement "; 
    			if(rs.next()) notification += rs.getString(1);
    			// Envoi notification
    			Out.println(notification);
     
    		} catch (Exception e){
    			System.out.println("Echec Connexion BD:" + e);
    			System.exit(4);
    		} 
    	}
    }
    Merci pour tout

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut problemme de connexion applet et base de donnees
    en fait mon probleme est au niveau de la connexion de base de donnees.
    avec applet viewer il ya connexion, mais sur un navigateur pas de connexion donc il renvoie les notification que j'ai mise.

    Aidez moi

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2009, 09h30
  2. Réponses: 1
    Dernier message: 14/05/2008, 17h02
  3. Réponses: 1
    Dernier message: 19/03/2008, 17h52
  4. Réponses: 1
    Dernier message: 19/07/2007, 21h09
  5. Réponses: 8
    Dernier message: 04/09/2003, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo