Bonjour, je veux faire une requete sur mon serveur SQL mais j'ai une erreur:

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
23 mai 2008 11:27:12 Test.Test_BdD jButton1ActionPerformed
GRAVE: null
java.sql.SQLException: Column Index out of range, 14 > 1. 
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1056)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
        at com.mysql.jdbc.ResultSetImpl.checkColumnBounds(ResultSetImpl.java:794)
        at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5515)
        at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5434)
        at Test.GestionAutorisation.HeureSortie(GestionAutorisation.java:213)
        at Test.Test_BdD.jButton1ActionPerformed(Test_BdD.java:65)
        at Test.Test_BdD.access$000(Test_BdD.java:17)
        at Test.Test_BdD$1.actionPerformed(Test_BdD.java:39)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
        at java.awt.Component.processMouseEvent(Component.java:5488)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1774)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Je déclare mon champ DateHeureSortie dans la base de données comme un VARCHAR(2000).

Voici mon 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
public static String HeureSortie(String user, String password, String url , String nomDriver, String NumCodeBarre) throws SQLException{
        heureSys = cal.get(Calendar.HOUR_OF_DAY);   //récupère les heures du système
        minuteSys = cal.get(Calendar.MINUTE);   //récupère les minutes du système
        sHeure = FormatCode(heureSys);  //on formate les heures sous la forme 05 ou 17
        sMinute = FormatCode(minuteSys);    //on formate les minutes sous la forme 05 ou 17
        System.out.println("Heure du systeme: "+sHeure);
        System.out.println("Minutes du systeme: "+sMinute);
        String HeureSortie = sHeure + sMinute;  //on concaténe les heures et les minutes sous la forme 0517 soit 5h17
        String date = formatDate();     //on veut une date sous la forme 22/05/2008
        String DateHeureSortieInitial = null;   
        GestionConnectBdD.ouvrir(user, password, url, nomDriver);   //connexion à la BdD
        GestionConnectBdD.ajouter("UPDATE employes SET HeureSortie="+"\"" + HeureSortie + "\" WHERE NumCodeBarre= "+"\"" + NumCodeBarre + "\" ");   //on ajoute une heure de sortie
        GestionConnectBdD.rechercher("SELECT DateHeureSortie From employes where NumCodeBarre = "+"\"" + NumCodeBarre + "\" "); //on recherche les valeurs placées dans le champ DateHeureSortie sur la BdD
        while(GestionConnectBdD.re.next()){
                DateHeureSortieInitial = GestionConnectBdD.re.getString(14);    //on place la requete dans la variable DateHeureSortieInitial
        }
        String deconcateneHeuresSortie = HeureSortie.substring(00, 02); //on déconcaténe la chaine la chaine HeureSortie pour avoir les heures soit 05
        String deconcateneMinutesSortie = HeureSortie.substring(02, 04);//on déconcaténe la chaine la chaine HeureSortie pour avoir les minutes soit 17
        String HeureSortieFinale = deconcateneHeuresSortie + ":" + deconcateneMinutesSortie + " | "; 
        String DateHeureSortie = date + ";" + HeureSortieFinale; //on concaténe les chaines soit: 22/08/2008;05:17
        String DateHeureSortieFinale = DateHeureSortieInitial + DateHeureSortie;  //on ajoute les nouveaux param aux param initials
        GestionConnectBdD.ajouter("UPDATE employes SET DateHeureSortie="+"\"" + DateHeureSortieFinale + "\" WHERE NumCodeBarre= "+"\"" + NumCodeBarre + "\" "); //on charge les nouveaux param pour le champ DateHeureSortie sur la BdD
        System.out.println(DateHeureSortieFinale);
       // GestionConnectBdD.fermer();
        return HeureSortie;
    }
 
 
 
    public static String FormatCode(int var){
        String Svar = Integer.toString(var);
        if(Svar.length()<2) //test si la longueur de la chaine est <2
        {
            Svar = "0" + Svar; //on rajoute un 0 devant la chaine
        }
        return Svar;
    }
 
    public static String formatDate(){ //Revoie une date sous la forme jj/mm/aaaa 
        int moisSys = cal.get(Calendar.MONTH) + 1;
        String SmoisSys = FormatCode(moisSys);
        int dateSys = cal.get(Calendar.DATE);
        String SdateSys = FormatCode(dateSys);
        int anneeSys = cal.get(Calendar.YEAR);
        String SanneeSys = FormatCode(anneeSys);
        String date = SdateSys + "/" + SmoisSys + "/" + SanneeSys;
        System.out.println(date);        
        return date;
    }
}

Dans mon bouton:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 try {          
            GestionAutorisation.HeureSortie("root", "root", "jdbc:mysql://10.104.100.57:3306/snecmajava", "org.gjt.mm.mysql.Driver", "9204521220089");
        } catch (SQLException ex) {
            Logger.getLogger(Test_BdD.class.getName()).log(Level.SEVERE, null, ex);
        }

Pouvez-vous m'aider?

Merci d'avance.