IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

OleDbException avec un INSERT INTO


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut OleDbException avec un INSERT INTO
    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 ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    c'est bon c'est résolu c'est pacque j'utilisai date qui est un mot réservé comme tant d'autre que j'ai pu voir sur ce site. http://www.kbalertz.com/Feedback.aspx?kbNumber=248738
    désolé pour le dérangement !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 3134 avec un INSERT INTO
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/04/2007, 17h27
  2. [MySQL] Probleme avec un INSERT INTO
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2006, 14h45
  3. exporter dans un format avec des insert into
    Par kurkLord dans le forum Oracle
    Réponses: 2
    Dernier message: 12/06/2006, 11h43
  4. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51
  5. Réponses: 2
    Dernier message: 21/07/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo