Je vous en prie ce problème me tracasse pendant 3 jours !! j'arrive pas a résoudre !, en fait, je veut ajouter un sportif, il ne s'ajoute pas convenablement (Cin = 0, ...) malgré que j'ai bien saisi !
une exception Sql est levée ...
Le principe est de vérifier si le sportif est existant par son CIN, sinon l'ajouter !
enfin voila un morceau du code :
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
public void ExecuterRequette(JPanel pan,int Cin,String Nom, String Prenom, java.sql.Date Daten, java.sql.Date Datea, int Tel, double Poids, String Adresse, java.sql.Date Datep)
    {
        boolean existe = false;
        try {

        //connection a la base de données
        String DBurl = "jdbc:odbc:sportif";
        con = DriverManager.getConnection(DBurl);

        PreparedStatement stmt= con.prepareStatement("Insert INTO infosinscri(Cin, Nom, Prenom, DateNaiss, DateAdhes, Tel, Poids, Adresse, DatePaiement) Values (?, ?, ?, ?, ?, ?, ?, ?, ?)");

            requete = "Select * From infosinscri ";
            Statement statement = con.createStatement();
            resultats = statement.executeQuery(requete);
            boolean encore = resultats.next();

            int CIN;

            while((encore)&&(existe))
            {
                CIN = resultats.getInt(1);
                
                if(CIN == Cin)
                {
                    JOptionPane.showMessageDialog(pan, "Ce numero de CIN est present dans la base !\nVerifiez votre saisie\nImpossible d'ajouter a la base !", "CIN Existant !", JOptionPane.ERROR_MESSAGE);
                    encore = false;
                    existe = true;
                 }
                encore = resultats.next();
             }

        if(!existe)
        {
            
                            stmt.setInt(1, Cin);
                            System.out.println("Wadjo Checkpoint");
                            stmt.setString(2, Nom);
                            stmt.setString(3, Prenom);
                            stmt.setDate(4, Daten);
                            stmt.setDate(5, Datea);
                            stmt.setInt(6, Tel);
                            stmt.setDouble(7, Poids);
                            stmt.setString(8, Adresse);
                            stmt.setDate(9,Datep);
                            stmt.execute();
                            System.out.println("nb mise a jour = "+stmt.executeUpdate());
                            JOptionPane.showMessageDialog(pan, "Ajout de "+Nom+" "+Prenom+" est effectué\n avec succès !", "Succès d'ajout!",JOptionPane.INFORMATION_MESSAGE) ;


 
            }
                            resultats.close();
            }

           catch (SQLException e) {
          JOptionPane.showMessageDialog(pan, e.getMessage(), "Doubons !",JOptionPane.ERROR_MESSAGE) ;
        }


    }
Le problème normalement est dans la ligne en rouge ...
Merci infiniment je suis devenu fou a cause de ce programme !