Voila j'ai un probleme lors d'une insertion dans une base de donnée access en java.
Voici comme je procède:
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.
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 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"); } }
Voici mon appel:
Il n'y a pas d'erreur dans la querry elle meme je l'ai testée directement dans ACCESS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String query ="INSERT INTO test_tab (id,myfield) VALUES ('1',\"test\")"; System.out.print(query); s+=dao.execUpdate(query);
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:
Merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Partager