Bonjour,
Je réalise une appli qui se connecte à une BD access.
Je créé une connexion que j'ouvre au lancement de l'appli.
Voici le code la classe qui gère l'accès à la BD:
Ensuite à partir d'une autre classe, j'appelle la méthode qui execute la requete:
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 class dbConnect { OleDbConnection sscaCnx; String chaineCnx = "provider = microsoft.jet.oledb.4.0 ; data source = ssca.mdb"; public dbConnect() { try { //Création de la connexion sscaCnx = new OleDbConnection(chaineCnx); } catch (OleDbException e) { MessageBox.Show("Erreur ACCESS:\n" + e.Message, "Erreur de connexion à la base de données", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //Méthode permettant d'exécuter une requête qui //ne renvoie pas de résultat (INSERT, UPDATE, DELETE) public bool executeQuery(String rqt) { try { //Ouverture de la connexion sscaCnx.Open(); //exécution de la requête OleDbCommand cmd = new OleDbCommand(rqt, sscaCnx); cmd.ExecuteNonQuery(); //Fermeture de la connexion sscaCnx.Close(); return true; } catch (Exception e) { MessageBox.Show(e.Message, "Erreur d'exécution d'une requête"); return false; } } }
Ma BD contient les champs suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 myConnection = new dbConnect(); String maRqt = "Insert into membres values ('4', 'LeNom', 'LePrenom', '15.12.1895', '3', '40');"; bool Ok = myConnection.executeQuery(maRqt); if (Ok) Console.Beep();
id, id_famille, nom, prenom, naissance, status, cotisation
Le champ id est auto-incrémente
Lorsque j'écris la requete comme indiqué au-dessus, il me dit qu'il manque un champ (6 au lieu de 7)
Si j'écris la requete suivante:
Ca marche (il y a le beep de la console), mais dans ma table, je n'ai pas le nouveau tuple que je viens d'inserer
Code : Sélectionner tout - Visualiser dans une fenêtre à part String maRqt = "Insert into membres values ('0', '4', 'LeNom', 'LePrenom', '15.12.1895', '3', '40');";
Qqun a-t-il une idée du problème?
Merci d'avance pour votre aide
Partager