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 :

Problème INSERT INTO


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut Problème INSERT INTO
    Bonjour, j'ai une table access et j'utilise VB.

    Je veux envoyer des informations comprises dans des textboxs dans ma base ACCESS:


    Mon code:

    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
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
     
    Public Class Form4
        Dim cn As New OleDbConnection
        Dim Obj_Command As New OleDbCommand
     
        Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source='C:\Users\Samuel\Desktop\BASE.mdb';"
            cn.Open()
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            If cn.State = ConnectionState.Open Then
                MsgBox("connecté avec succès", MsgBoxStyle.Information)
            End If
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Obj_Command.Connection = cn
            Obj_Command.CommandText = "INSERT INTO MEMBRES (ID_MEMBRE, PRENOM) VALUES('" & TextBox_ID.Text & "' ,'" & TextBox_prenom.Text & "')"
            Obj_Command.ExecuteNonQuery()
     
        End Sub
    MESSAGE D'ERREUR:
    L'instruction INSERT INTO contient le nom de champ inconnu suivant : 'ID_MEMBRE'. Assurez-vous que vous avez correctement saisi le nom, puis recommencez l'opération.
    pourtant le nom correspond bien à celui que j'ai donné dans ma table
    et le lien fonction car mon button_2 me retourne bien que la connexion est ouverte.

    Quelqu'un pourrait il m'aider.

    En vous remerciant.

    Samuel.

  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
    Salut,
    Récupère ta requete dans le débuggueur, et lance la sous Access déjà pour voir si ça passe. Après on verra.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Il est fort probable qu'il y ai une faute de frappe.

    Sinon il est préférable d'utiliser les requêtes paramétrées. Voir Tuto ou Faq.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                Obj_Command.CommandText = "INSERT INTO MEMBRES (ID_MEMBRE, PRENOM) VALUES(?,?)"
                Obj_Command.Parameters.Add("?", OleDbType.VarChar).Value = TextBox_ID.Text
                Obj_Command.Parameters.Add("?", OleDbType.VarChar).Value = TextBox_prenom.Text
                Obj_Command.ExecuteNonQuery()
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    Je suis débutant, je ne comprends pas comment procéder pour récupérer une requête et la lancer dans access.

    On me dit dans le debogage que l'exception oledbexception n'a pas été gérée.

    rv26t. Je vais essayer votre méthode et je vous dirai ce qu'il en est. Je vous remercie.

  5. #5
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Si ID_MEMBRE est de type auto-increment, il ne doit pas figurer dans la commande INSERT.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Par défaut
    @rv26t. J'ai essayé votre code, sans succès.

    @Graffito: ID_MEMBRE n'est pas de type auto-incrément

  7. #7
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Si ID_MEMBRE est de type entier, pas de quotes autour de TextBox_ID.Text
    (ce type d'erreur est évitable en utilisant les requêtes paramétrées comme indiqué par rv26t)

    Essaie de rentrer dans Access pour modifier la structure de la table :
    - change le nom de la colonne ID_MEMBRE en ID_MEMBREXXX
    - sauve le changement,
    - rechange le nom de la colonne en ID_MEMBRE,
    - resauve.

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

Discussions similaires

  1. Problème Insert into table intermédiaire
    Par richard_sraing dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/01/2009, 23h58
  2. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 09h17
  3. problème INSERT INTO C#/Access
    Par jerome71300 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 18/08/2008, 14h34
  4. Probléme Insert into
    Par dellys2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 11h46
  5. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 18h12

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