Bonjour,
je souhaite ajouter une occurance dans une de mes tables SQL.
Cependant si je l'ajoute les données (je veux dire leur valeurs) dans ma classe ca fonctionne mais je n'y arrive pas si veux l'ajouter à partir du de ma classe main.
voila le code
---------------------------------------------------------------
classe avec constructeur:
----------------------------------------------
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 package com.bankonetbase; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class ClientDB{ /* déclaration de la base donnée et de sa connection */ private static final String DRIVER_NAME="com.mysql.jdbc.Driver", DB_URL="jdbc:mysql:///base_jf", DB_LOGIN="root", DB_PASSWORD=""; /* declaration de l'attribut */ Connection connection=null; /* on tente de se connecter au driver JDBC */ public ClientDB() { try { Class.forName(DRIVER_NAME); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* on tente de se connecter à la base, et on fait la requette */ public void ecrireclient(String id, String lenom, String leprenom, String lecc, String lece) { try { Connection conn= DriverManager.getConnection(DB_URL,DB_LOGIN,DB_PASSWORD); /** creation de la requette */ Statement requete = conn.createStatement(); requete.executeUpdate("insert into client ( Id_client, nom, prenom,no_cc,no_ce )" + "values(id, lenom, leprenom, lecc,lece);"); <== C'EST CA QUI EST FAUX /** liberation des ressources */ requete.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
et ma classe MAIN
------------------------------------------------------------------
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 package com.bankonetbase; public class TestClientDB { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /* appel chargement de jbbc */ ClientDB obj_bd = new ClientDB(); /* on va ecrire un nouveau client */ obj_bd.ecrireclient("a201", "Dupond", "david", "david-cc","david-ce");
Resultat de l'execution:
java.sql.SQLException: null, message from server: "Unknown column 'id' in 'field list'"
je voudrais en fait que le prg mette le contenu de id c'est à dire a201.
Dans ma base sql le champ s'appelle Id_client.
Si quelqu'un a une idée ?
merci d'avance (et j'espère que ce que j'ai mis n'est pas trop confus)
Editer par zekey: ajout des balises codes, merci d'y penser à l'avenir
Partager