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

Développement Web en Java Discussion :

JEE et SqlServer


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Apprenti developpeur
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Apprenti developpeur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut JEE et SqlServer
    Bonjour,
    Je suis deja aller poser la question sur openclasseroom mais je n'ai aucune reponse j'espère que vous pourez m'aider.
    Biensure j'ai effecteur de nombreuse recherche et ai essayer d'arranger le probleme par mois meme
    Voici ce que j'ai publier sur OCR
    "Je suis entrain de créer une application web en java EE. Pour cette application j'ai créer une Classe qui contient le script de connexion à ma base de données. Je l'ai externaliser afin que mon code dans mes classe métier soit plus lisible. Cette classe fonctionne très bien et la connexion a ma base de données SqlServer fonctionne a merveille mais seulement quand j'effectue cette connexion dans une méthode main. Cependant quand je souhaite appeler cette connexion dans une autre de mes classe afin d'afficher certaine valeur contenue dans la base de données et que celles-ci apparaisse dans une liste déroulante rien ne se produit.

    Est-ce que quelqu'un pourrais m'aider s'il vous plait ? C'est tres urgent merci .

    Je vous remercie d'avance de l'aide que vous pourrez m'appporter."

    Je vous ajoute les code pour plus de comprehension

    Voici pour commencer mon script de connexion a la BDD

    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
    public class ConnexionBD
    {
        //declaration d'une variable publique static de type Connection
        public static Connection conn;
        //declaration de la methode de connexion à la BDD
        public static void main(String[] args) {
            // TODO Auto-generated method stub
     
            //declaration de la methode de connexion à la BDD
                conn = null;
                try
                {
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                    String dbURL = "jdbc:sqlserver://FRMOPC09090\\SQLEXPRESS;databaseName=MaBDD;user=user1;password=aa82356;";
                    conn = DriverManager.getConnection(dbURL);
                }
                catch (Exception e)
                {
                            e.printStackTrace();
                }
            }
        }
    puis la methode qui est cencer retourner une collection pour remplir la liste deroulante
    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
    		public ArrayList<FamilleMachine> findAll()
    	{
    		//instance de la collection qui sera retourner
    		ArrayList<FamilleMachine> mesFamille = new ArrayList<FamilleMachine>();
    		//recherche des Famille de Machine dans la base de données
    		try
    		{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    			String dbURL = "jdbc:sqlserver://FRMOPC09090\\SQLEXPRESS;databaseName=RecueilTolerances;user=user1;password=aa82356;";
    			Connection conn = DriverManager.getConnection(dbURL);
    			Statement st = conn.createStatement();
    			//requete sql
    			String req = "SELECT *"
    					+ "FROM Famille_Machine";
    			//execution de la requete
    			ResultSet rs = st.executeQuery(req);
    			//exploitation du resultat dans une boucle while
    			while(rs.next())
    			{
    				//instantiation de l'objet Famille de machine
    				FamilleMachine maFamille = new FamilleMachine(rs.getInt("IDFMachine"),rs.getString("FMachine"));
    				//ajout de l'objet à la collection préalablement creer
    				mesFamille.add(maFamille);
    			}
    		}
    		catch(Exception e)
    		{
    			e.printStackTrace();
    		}
    		//retour de la collection contenant les Familles de Machines
    		return mesFamille;
    	}
    Et enfin le code de ma liste deroulante

    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
    <select name="Classes">
    ****<option>-- Choisissez un secteur d'entreprise --</option>
    ****<%
    ********//Creation d'un objet famille pour utiliser la methode findAll
    ********Classe cl = new Classe();
    ********//remplissage de la collection
    ********ArrayList<Classe> mesClasses = new ArrayList<Classe>();
    ********//utilisation de la methode findAll pour implementer la liste deroulante a l'aide d'une collection d'objet retourner qui contient toute les famille de machine. Methode attribuer a une instence de collection d'objet de type FamilleMachine
    ********mesFamilleM = fm.findAll();
    ********for(int i=0;i<mesFamilleM.size();i++)
    ********{
    ************out.print("<option value='"+mesFamilleM.get(i).getCodeFM()+"'>"+mesFamilleM.get(i).getLibelleFM()+"</option>");
    ********}
    ****%>
    </select>
    En esperant vraiment que quelqu'un puisse m'aider. Je vous remerci d'avance

    A++

    LPN

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    D'où vient "fm" ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Femme Profil pro
    Apprenti developpeur
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Apprenti developpeur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    A mince j'ai oublier de les remplacer normalement faut le remplacer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //code de remplacement pour la ligne 9 du 3 eme script
    mesClasses = cl.findAll();

  4. #4
    Membre averti
    Femme Profil pro
    Apprenti developpeur
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Apprenti developpeur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    J'ai trouver une solution mais ça me rajoute des pages et ça risque de rendre le code confus. Pour chaque methode CRUD de chacune de mes classe creer une Classe. Si quelqu'un a une autre solution a me proposer ?

    PS : Mais cela ne marchera pas pour toutes les methodes.
    Et si je fait une recherche bdd directement dans la page, ça fonctionnerais ?

    PS2 : Je viens de tester et la liste n'est tout de memes pas allimenter.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pourquoi multiplier les classes ? Tu n'as qu'à faire des méthodes avec des noms différents...
    Peux-tu poster le code complet de ta classe "Classe" ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Femme Profil pro
    Apprenti developpeur
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Apprenti developpeur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Pourquoi multiplier les classes ? Tu n'as qu'à faire des méthodes avec des noms différents...
    Peux-tu poster le code complet de ta classe "Classe" ?
    C'est ce que j'ai fait au départ mais ça ne fonctionne pas.

    Tien voila le code de ma classe

    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
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
     
    public class Classe {
    	//declaration des attributs de la classe
    		private int id;
    		private String libelle;
     
    		//declaration des constructeurs
    		public Classe(int code,String libelle)
    		{
    			this.id = code;
    			this.libelle = libelle;
    		}
    		public Classe()
    		{
    			//constructeur vide pour la creation d'objets dont on ne connait pas les valeur a attribuer aux attributs
    		}
     
    		//declaration des getters et setters
    		public int getId() 
    		{
    			return id;
    		}
    		public void setId(int id) 
    		{
    			this.id = id;
    		}
    		public String getLibelle() 
    		{
    			return libelle;
    		}
    		public void setLibelle(String libelle) 
    		{
    			this.libelle = libelle;
    		}
     
    		//declaration de la methode retrieve
    		public void retrieve(int code)
    		{
    			try
    			{
    				Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    				String dbURL = "jdbc:sqlserver://FRMOPC09090\\SQLEXPRESS;databaseName=MaBDD;user=user1;password=***;";
     
    				Connection conn = DriverManager.getConnection(dbURL);
    				Statement st = conn.createStatement();
    				//requete sql
    				String req = "SELECT * FROM Classe WHERE IDClasse = "+code;
    				//execution de la requete
    				ResultSet rs = st.executeQuery(req);
    				rs.next();
    				//instantiation de l'objet
    				libelle = rs.getString("Libelle");
    			}
    			catch(Exception e)
    			{
    				e.printStackTrace();
    			}
    		}
     
    		//declaration de la methode findAll() qui permettra d'implementer la liste deroulante 
    		public ArrayList<Classe> findAll()
    		{
    			//instance de la collection qui sera retourner
    			ArrayList<Classe> mesClasses = new ArrayList<Classe>();
    			//recherche des Famille de Machine dans la base de données
    			try
    			{
    				Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    				String dbURL = "jdbc:sqlserver://FRMOPC09090\\SQLEXPRESS;databaseName=RecueilTolerances;user=user1;password=aa82356;";
    				Connection conn = DriverManager.getConnection(dbURL);
    				Statement st = conn.createStatement();
    				//requete sql
    				String req = "SELECT * FROM Classe";
    				//execution de la requete
    				ResultSet rs = st.executeQuery(req);
    				//exploitation du resultat dans une boucle while
    				while(rs.next())
    				{
    					//instantiation de l'objet Classe
    					Classe maCl = new Classe(rs.getInt("IDClasse"),rs.getString("Libelle"));
    					//ajout de l'objet à la collection préalablement creer
    					mesClasses.add(maCl);
    				}
    			}
    			catch(Exception e)
    			{
    				e.printStackTrace();
    			}
    			//retour de la collection contenant les Classe
    			return mesClasses;
    		}
    }
    Merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2005] Connexion Hibernate Jee et sqlserver
    Par medsyskat dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/05/2014, 12h51
  2. [CR SQLServer] Changer la connexion de l'etat
    Par Grégory DAVIN dans le forum Connectivité
    Réponses: 4
    Dernier message: 27/03/2007, 16h32
  3. Définir une appli JEE avec JB7 Entreprise
    Par polo54 dans le forum JBuilder
    Réponses: 4
    Dernier message: 10/06/2003, 11h48
  4. [Comparatif] DB2, Oracle et SQLServer
    Par Laurent MALAVASI dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 25/10/2002, 12h26
  5. Création d'agrégat avec SQLServer
    Par Testav dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/09/2002, 16h54

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