Bonjour,

Je suis débutant J2ME et je suis actuellement en train de codé un WebService en J2me qui me permettra de récupéré des informations sur la base de donnée d'un restaurant. Voici mon codage jusqu'a présent ( je ne vous donne que la connexion et la déconnexion, puis le listage des tables du restaurant pour ne pas trop en mettre ^^ ):



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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
@WebService()
public class WebServiceVenezia {
 
    //Pour la Connecter.
    Connection Objconnecter;
    //Pour éxéxuter la requête.
    Statement ObjStatement;
    //DriverManager ObjDriverManager;
    DataSource Ds ;
    InitialContext Ic;
    //Pour Obtenir le Resultat de la requete.
    ResultSet Resultat;
 
    /**
     * Web service operation
     */
 
     //----------------------------------------------------------*---------
    //Cette Fonction permet de se connecter à la base de donnée.
    //----------------------------------------------------------*---------
 
    @WebMethod()
    private boolean connecter(){
        //Valeur de retour de la fonction: true si connecter réussie sinon false
        boolean ValRet = false;
        try {
            Ic = new InitialContext();
            //On désire se connecter à la base de donnée stock.
            Ds = (DataSource) Ic.lookup("stock");
            Objconnecter = Ds.getConnection();
            ValRet = true;
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (SQLException ex){
            ex.printStackTrace();
        }
        return ValRet;
    }
 
    //-------------------------------------------------------------------
    //Cette Fonction permet de se déconnecter de la base de donnée.
    //-------------------------------------------------------------------
 
    @WebMethod()
    private boolean deconnecter() {
        //Valeur de retour de la fonction: True si déconnecter réussie sinon false.
        boolean ValRet = false;
        try{
            Objconnecter.close(); //Fermeture de la connection.
            ValRet = true;
        } catch (SQLException ex){
            ex.printStackTrace();
        }
        return ValRet;
    }
 
 
     //-------------------------------------------------------------------
    //Cette Fonction permet de calculer le nombre d'enregistrement que l'on va obtenir
    //suivant la requete passée en paramètre.
    //-------------------------------------------------------------------
 
    @WebMethod
    private int calculerTaille(@WebParam(name = "prmRequete")String prmRequete){
        //Valeur de retour de la fonction.
        int NbEnregistrement = 0;
        //Requete pour laquelle on veut connaitre le nombre d'enregistrement.
        String requete = "";
        requete = prmRequete;
 
        //Permet d'obtenir le nombre d'enregistrement en fonction de la requete "prmRequete"
        try{
            connecter();
            ObjStatement = Objconnecter.createStatement();
            Resultat = ObjStatement.executeQuery(requete);
            Resultat.last(); //Dernier enregistrement de la base
            //On veut connaitre la ligne du dernier enregistrement.
            NbEnregistrement = Resultat.getRow();
            ObjStatement.close();
            deconnecter();
        } catch (SQLException ex){
            ex.printStackTrace();
        }
        return NbEnregistrement;
    }
 
 
    //---------------------------------------------------------------
    // Cette Fonction permet de récupérer la liste des tables du restaurant.
    //---------------------------------------------------------------
 
 
     @WebMethod(/*operationName = "ListeTable"operationName = "ListerTable"*/)
    public String [] ListerTables(@WebParam(name = "ListTable")
    String ListTable) {
        //Stock la liste des Tables du Réstaurant.
        String [] ListeTables = null;
 
 
        //Représente les Tables.
        int i = 0;
        //Stock le Nombre de Tables du Restaurant.
        int NbTables = 0;
 
        //Récupération et stockage du nombre de Tables du Restaurant.
        //NbTables = LireNombreTables();
 
        //Requête Permettant d'obtenir la liste des Tables du Restaurant par numéro de tables croissants.
        String requeteListeTables = "";
        ListeTables = new String[NbTables];
        requeteListeTables = "SELECT numTable FROM visu_table ORDER BY numTable";
 
        //Permet d'obtenir les Tables du Restaurant.
        try {
            connecter();
            ObjStatement = Objconnecter.createStatement();
            Resultat = ObjStatement.executeQuery(requeteListeTables);
            //Pour chaque Tables on récupère le nom.
            for(i = 0;i < NbTables; i++){
             Resultat.next();
             ListeTables[i] = Resultat.getString("ChoixTable");
            }
            ObjStatement.close();
            deconnecter();
        } catch (SQLException ex){
            ex.printStackTrace();
        }
 
 
        //TODO write your implementation code here:
        return ListeTables;
    }

Le souci c'est que j'obtient des messages d'erreur au endroit suivant :


Objconnecter = Ds.getConnection();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requete);
ObjStatement.close();
ObjStatement = Objconnecter.createStatement();
Resultat = ObjStatement.executeQuery(requeteListeTables);
ObjStatement.close();

Si quelqu'un a une idée merci de son aide précieuse ! je suis près à donner mon adresse mail si besoin de plus de précision !

Cordialement!