bonjour,

je dois effectuer une insertion dans une base de données mysql. j'ai une table avec deux champs, dont la clef en auto-increment.

j'ai une premiere methode qui me permet de preparer ma requete pour une insertion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public void paramPrstmtInsert() {
                try {
                        prstmt = conn.prepareStatement("INSERT INTO ? VALUES ('?')"); 
                } catch (SQLException E) {
                        System.out.println("Erreur lors de la preparation du preparedStatement");
                        System.out.println("SQLException : " + E.getMessage());
                }
        }
conn : objet Connect
prstmt : objet PreparedStatement

Les paramètres à entrer par la suite correspondent donc au nom de la table (avec eventuellement les champs concernés entre parenthèse) et les données à inserer dans les champs de la base.

puis j'ai une deuxieme méthode qui me permet d'inserer mes données à partir de ma requete paramétrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public int insertDatabase(String param1, String param2) {
                int nb =0;
                 try {
                        prstmt.setString(1, param1);
                        prstmt.setString(2, param2);
                        nb = prstmt.executeUpdate(); 
                } catch (SQLException E) {
                        System.out.println("Erreur lors de l'envoie à la requete : ");
                        System.out.println("SQLException : " + E.getMessage());
                } 
                return nb;
        }
dans mon programme de test, je commence à me connecter à ma base, puis j'applique mes 2 requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ConnectionBase connection2 = new ConnectionBase();
connection2.connect("mabase", "root", "monpswd");
connection2.paramPrstmtInsert();
connection2.insertDatabase("matable(monchamps)", "données_a_inserer");
Cependant, lors de l'execusion, j'ai cette erreur :
SQLException : Parameter index out of range (2 > 1).
savez vous d'ou peut venir mon probleme? je ne vois pas ou je peux etre en dehors des index.

merci d'avance.