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

JDBC Java Discussion :

Lecture dans une bd oracle


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2016
    Messages : 60
    Points : 58
    Points
    58
    Par défaut Lecture dans une bd oracle
    Bonjour,

    Je voudrais lire un abonné dont l'id sera fourni par l'utilisateur dans la bd dont les champs de la table Abonné sont les suivants:
    ID_ABONNER NUMBER(38,0) No 1
    NOM_ABONNER VARCHAR2(50 BYTE) Yes 2
    PRENOM_ABONNER VARCHAR2(50 BYTE) Yes 3
    ADRESSE_ABONNER VARCHAR2(50 BYTE) Yes 4
    TEL_ABONNER VARCHAR2(50 BYTE) Yes 5
    LIEU_DE_TRAVAIL_ABONNER VARCHAR2(50 BYTE) Yes 6
    ETABLISEMENT_ABONNER VARCHAR2(50 BYTE) Yes 7
    PHOTOS BLOB Yes 8


    À l'aide d'une requête préparée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final String RECHERCHER_ID="select * from ABONNE where ID_ABONNER=?";
    j'ai une fonction de recherche déclarée dans une classe AbonneBD qui retourne un type Abonne

    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
    public Abonne rechercher_id(Integer identifiant) {
           Abonne abonner=new Abonne();
            PreparedStatement ps=null;
            try
            {
                ps=ConnexionProjet.getInstance().prepareStatement(RECHERCHER_ID);
               // System.out.println("Connecte");
                ps.setInt(1, abonner.getId_abonne() );
                ResultSet resulta=ps.executeQuery();
                while(resulta.next())
                {
                    abonner.setId_abonne(resulta.getInt(1));
                    abonner.setNom(resulta.getString(2));
                    abonner.setPrenom(resulta.getString(3));
                    abonner.setAdresse(resulta.getString(4));
                    abonner.setTelephone(resulta.getString(5));
                    abonner.setLieu_travail(resulta.getString(6));
                    abonner.setEtablissement(resulta.getString(7));
                    abonner.setPhoto(resulta.getBlob(8));
     
                }
     
            }
            catch (Exception e) {
    			//System.out.println(e.getMessage());
                JOptionPane.showMessageDialog(null,"FORMAT INVALIDE","Recherche",JOptionPane.ERROR_MESSAGE);
    	}
            System.out.println(abonner.getNom());
            return abonner; 
        }
    et une classe Entite où cette fonction sera appelée par une autre fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public void rechercher(){
     
        	abonneBD=new AbonnerBD();
        	int identifient=Integer.parseInt(frm.jTextFieldID.getText());
           System.out.print(identifient);
     
           // abonne= abonneBD.rechercher_id(identifient);
            System.out.print(abonneBD.rechercher_id(identifient).getNom());
     
    }
    NB: le frm est un type FormeRecherche extends JFrame instanciée tout en haut de la classe Entite
    j'ai mis l'action cliqué sur un bouton de FormeRecherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    JButton btnRechercher = new JButton("Rechercher");
    		btnRechercher.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent arg0) {
    				if(btnRechercher!=null)
    					entite.rechercher();
     
    			}
    		});
    		btnRechercher.setBounds(93, 127, 87, 23);
    		contentPane.add(btnRechercher);
    quand j'exécute il me retourne null. aidez moi svp

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public Abonne rechercher_id(Integer identifiant) {
           Abonne abonner=new Abonne();
            PreparedStatement ps=null;
            try
            {
                ps=ConnexionProjet.getInstance().prepareStatement(RECHERCHER_ID);
               // System.out.println("Connecte");
                ps.setInt(1, abonner.getId_abonne() );
    Dans le paramètre de ta requête, tu mets la valeur d'id qui se trouve dans l'instance abonner, fraîchement créée, donc à priori sans valeur (ou des valeurs par défaut peut-être). Donc la requête doit faire un "where ID_ABONNER=NULL" à priori, donc ne rien trouver, donc ton instance d'Abonne reste à vide.

    Tu devrais à priori utiliser le paramètre de la méthode, soit identifiant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ps.setInt(1, identifiant) );

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Avril 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2016
    Messages : 60
    Points : 58
    Points
    58
    Par défaut Lecture dans une bd oracle
    Merci bcp ça marché

Discussions similaires

  1. Insert et lecture d'une table Oracle dans le même job
    Par NFHnv dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 13/02/2013, 12h15
  2. [VB]Lecture dans une base de donnée posant problème
    Par polo-j dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 23/03/2006, 00h16
  3. changer le type d'un attribut dans une base oracle 8i
    Par vrossi59 dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2006, 15h28
  4. supprimer un enregistrement vide dans une table oracle
    Par shurized dans le forum Bases de données
    Réponses: 11
    Dernier message: 07/09/2004, 16h55
  5. Réponses: 4
    Dernier message: 03/03/2004, 11h04

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