Amis du dimanche bonjour,
j'ai une petit soucis avec mon programme, lorsque je clique sur un bouton pour enregistrer mes données dans une table access j'obtiens le message d'erreur suivant :
et quand je clic sur détail j'ai ceci :L'exception OleDbException n'a pas été gérée
alors je ne comprend car mon enregistrement s'effectue si j'affecte 2 "AddWithValue" mais à partir de 3 j'ai le message ci dessus,Erreur de syntaxe dans l'instruction INSERT INTO
je vois pas ou est le soucis! (les colonnes de ma table portent des libelles identique à mon INSERT INTO)
pour la class :
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Imports System.Data Public Class Form1 Dim con As New OleDb.OleDbConnection Dim ds As New DataSet
au chargement de ma fenêtre
Ma méthode connexion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Documents and Settings\Laurent\Mes documents\Visual Studio 2008\Projects\Statio\Statio\Stats.mdb" Connexion()
et enfin mon bouton ajouter l'enregistrement :
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 Private Sub Connexion() ' Déclaration de la variable cmd ' OleDbCommand représentera ici une instruction SQL à exécuter par rapport à une source de données Dim cmd As OleDb.OleDbCommand ' Déclaration de sql_ajouter, qui contiendra la requête SQL permettant d'ajouter un enregistrement Dim sql_tout_afficher As String sql_tout_afficher = "SELECT * FROM depart" ' Initialisation de la requête cmd = New OleDb.OleDbCommand(sql_tout_afficher, con) ' Ouverture de la connexion cmd.Connection.Open() '(3) Récupération du résultat de la requête dans un dataset ' Déclaration de notre data adapter Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter ' On sélectionne les enregistrements de la requête da.SelectCommand = cmd ' et on injecte les enregistrements dans le dataset da.Fill(ds, "Liste_depart") ' Fermeture de la connexion cmd.Connection.Close() End Sub
Ma table quand à elle comporte 3 colonnes :
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 Dim cmd As OleDb.OleDbCommand Dim sql_ajouter As String sql_ajouter = "INSERT INTO depart (Inter, Renfort, Date) VALUES(Val_inter, Val_renfort, Val_date)" cmd = New OleDb.OleDbCommand(sql_ajouter, con) cmd.Parameters.AddWithValue("Val_inter", Label22.Text) cmd.Parameters.AddWithValue("Val_renfort", Label32.Text) cmd.Parameters.AddWithValue("Val_date", Label23.Text) ' Ouverture de la connexion cmd.Connection.Open() ' Exécution de la requête SQL cmd.ExecuteReader() ' Fermeture de la connexion cmd.Connection.Close() ' On vide le dataset ds.Clear()
ID (numéro auto)
Inter (numérique)
Renfort (numérique)
Date (texte)
une idée sur la chose ?
Partager