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 :

L'exception OleDbException n'a pas été gérée
et quand je clic sur détail j'ai ceci :
Erreur de syntaxe dans l'instruction INSERT INTO
alors je ne comprend car mon enregistrement s'effectue si j'affecte 2 "AddWithValue" mais à partir de 3 j'ai le message ci dessus,
je vois pas ou est le soucis! (les colonnes de ma table portent des libelles identique à mon INSERT INTO)

pour la class :

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
voici mon code :
au chargement de ma fenêtre
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()
Ma méthode connexion
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
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
        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()
Ma table quand à elle comporte 3 colonnes :
ID (numéro auto)
Inter (numérique)
Renfort (numérique)
Date (texte)

une idée sur la chose ?