[ACCESS] Problème d'insertion
Voila j'ai un probleme lors d'une insertion dans une base de donnée access en java.
Voici comme je procède:
Code:
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
|
public int execUpdate(String s) {
this.CreateStatement();
try {
//System.out.print(s);
this.res = st.executeUpdate(s);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return this.res;
}
public void CreateStatement(){
try {
this.st = this.con.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void connection() {
Connection con = null;
try {
Class cDriver = Class.forName(DRIVER);
Driver d = (java.sql.Driver)cDriver.newInstance();
DriverManager.registerDriver(d);
this.con = DriverManager.getConnection(URL,Constantes.USER,Constantes.PSW);
System.out.print("Connected");
} catch (Exception e) {
//e.printStackTrace();
System.out.print("Error connection");
}
} |
Je ne met pas la totalité du code sinon vous n'allez plus vous en sortir, mais en gros la fonction connection fonctionne correctement étant donné que mes SELECT ne posent pas de probleme.
Voici mon appel:
Code:
1 2 3
| String query ="INSERT INTO test_tab (id,myfield) VALUES ('1',\"test\")";
System.out.print(query);
s+=dao.execUpdate(query); |
Il n'y a pas d'erreur dans la querry elle meme je l'ai testée directement dans ACCESS.
J'ai vu un post semblable (créé par ocean), et en utilisant sa méthode cela fonctionne bien (en utilisant un prepareStatement).
J'aimerais pouvoir le faire directement depuis une query (string) qui me serait envoyé et donc sans prepareStatement.
L'erreur que je reçois:
Code:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Merci d'avance!