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:
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
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
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
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
Partager