begin process at 2010 02 09 23:05:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

Access

 > 

probléme dans l'ajout d'un enregistrement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme dans l'ajout d'un enregistrement

lundi 21 avril 2008 à 15:13:09 | probléme dans l'ajout d'un enregistrement

youma85



salut tous le monde bein je suis débutant dans vb .net, et je viens de créer un programme qui se connecte avec une base de données acces.
Lorsque je veux ajouter un enregitrement on me donne une erreur:

Erreur de syntaxe dans l'instruction INSERT INTO.
dans l 'instruction :  dta.Update(dts, "produit")

voila le code et  merci:


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valider.Click

        'ouverture de la connection(à partir du répertoire de l'application)sur la même ligne
        cnxstr = "Provider=Microsoft.ACE.OLEDB.12.0 ; Data Source= stock.accdb"
        cnx = New OleDbConnection
        cnx.ConnectionString = cnxstr
        cnx.Open()
        'Création de la requête sql
        sql = "select produit.* from produit"

        'Création de la commande et on l'instancie (sql)
        cmd = New OleDbCommand(sql)

        'Création du dataadapter (dta) et on l'instancie (cmd)
        dta = New OleDbDataAdapter(cmd)

        'On instancie la commande (cmd) à la connection (cnx)
        cmd.Connection() = cnx

        'On charge le dataset (dts) grace à la propriété fill du dataadapter (dta)
        dta.Fill(dts, "produit")

        'On charge la datatable (dtt) grace à la propriété tables du dataset (dts)                 
        dtt = dts.Tables("ptoduit")

        'crátion d'une nouvelle ligne avec les données des textbox
        dtr = dts.Tables("produit").NewRow
        dtr("nom") = Me.nom.Text
        dtr("prix") = Me.prix.Text
        dtr("date d'ajout") = Me.datea.Text
        dtr("quantité") = Me.qte.Text

        'ajout de la ligne dans le DataSet
        dts.Tables("produit").Rows.Add(dtr)

        'création et exécution du commandbuilder pour mettre à jour le DataAdapter
        cmdb = New OleDbCommandBuilder(dta)

        'mise à jour des données du dataadapter(dta)à partir du commandbuilder (cmdb)
        dta.Update(dts, "produit")

        'on vide le dataset pour le recréer avec  les nouvelles données
        dts.Clear()
        dta.Fill(dts, "produit")
        dtt = dts.Tables("produit")
        cnx = Nothing
        dts = Nothing
    End Sub
lundi 21 avril 2008 à 16:53:38 | Re : probléme dans l'ajout d'un enregistrement

desperados27

Où est ta requête lol ?
Donne-la.
lundi 21 avril 2008 à 21:44:35 | Re : probléme dans l'ajout d'un enregistrement

youma85

bein ce code la je l'ai pri du tutoriel dans le site, car je sais pas comment ajouter un enregistrement.
voila j'ai une base stock qui contient une table produit avec des champ n°, nom, prix, quantité
si  vous pouvez me donner une méthode qui permet d'ajouter un enregistrement svp. merci

mardi 22 avril 2008 à 11:43:31 | Re : probléme dans l'ajout d'un enregistrement

desperados27

Voilà c'est (je pense) la meilleure facon.
Après avoir fait la connexion :

Dim sql AsString = "INSERT INTO table (Champ1, Champ2) VALUES ( ' " & TextBox1.Text & " ', ' " & TextBox2.Text & " ' )" 'En supposant que ta clé primaire est en auto-incrément
Dim Commande AsNew OleDbCommand(sql, cnx)
Cnx.Open()
cmd.ExecuteNonQuery() 'L'ajout est effectué
Cnx.Close()
mardi 22 avril 2008 à 20:52:32 | Re : probléme dans l'ajout d'un enregistrement

youma85


je fais ce que tu m'a dit mais on me donne toujourscette erreur:
Erreur de syntaxe dans l'instruction INSERT INTO.

est ce que c'est le probléme de type des champs.
vendredi 25 avril 2008 à 09:10:33 | Re : probléme dans l'ajout d'un enregistrement

desperados27

Tu as quoi comme types de champs ?
jeudi 1 mai 2008 à 23:54:24 | Re : probléme dans l'ajout d'un enregistrement

youma85


bein j'ai des champs des chaîne de caractères  et  un champ de type date
vendredi 2 mai 2008 à 11:17:12 | Re : probléme dans l'ajout d'un enregistrement

desperados27

INSERT INTO [table] (colonneEntier, colonneChaîne, colonneDate) VALUES ([l'Entier], '[la chaîne]'; #[la Date]#);

Donc,
les nombre, tu mets directement dans la requête.
les chaînes, tu mets des apostrophes.
les dates, tu mets des dièses (#)

Voilà.



Cette discussion est classée dans : produit, cnx, dts, dtr, dta


Répondre à ce message

Sujets en rapport avec ce message

Problèmes doublons [ par Vitorj ] Bonjour a tous, erreur systeme incompréhensible [ par gargourifahmi ] Cette procedure d'un bouton d'ajout genere une erreur systeme lorsque j'appuie sur le bouton "ajouter" et l'execution s'arrete au niveau de la command BD Access problème pour accéder à une BD [ par BeuheC ] BonjourPremière question:J'ai créé une connection avec une BD, jusque là ca à l'air de fonctionner.Puis j'ai ajouter une nouvelle connection à une aut demande d'aide pour Eprom [ par gilc ] Bonjour je suis nouveau sur ce forum et je début tous juste en langage C, (j'ai à peine les bases). Voici mon problème : Voici 5 ans maintenant j'acq Pb de mise a jour [ par djamal_dine ] Bonsoir a tous,je suis novice en vb 2005 et mon probleme est le suivant je developpe une application de gestion de stock et j'ai une erreur au niveau mise a jour ACCESS via vb 2005 [ par djamal_dine ] Bonsoir a tous,je suis novice en vb 2005 et mon probleme est le suivant je developpe une application de gestion de stock et j'ai une erreur au niveau comment enregistrer les donnees contenues dans un datagridview vers la base de donnes [ par djamal_dine ] bsr a tous ,je voudrai savoir comment je pourrai enregistrer les donnees de mon gridview vers ma base de donnees .J'ai specifie le datasource de mon g tester existance d'une table [ par deftom ] Bonjour, pour mettre un cadre a ma demande je suis débutant, n'est pas de connaissance réél en VB , mais en "récuperant" des bouts de code et avec un update datamember probleme de liste enfant ... [ par jfuck ] Bonjour, Avez vous une solution pour résoudre mon probleme. J'ai un code utilisant un dataadapter et un dataset. Je parviens a remplir mon datagridvie exception oledbexception- Erreur de synthaxe dans l'instruction inser to [ par coulibalysy ] D'abord je vous informe que je programme sous VB.net 2008 Express et j'attaque une base de donnée Access 2007.J'ai vérifié les champs de ma table "Etu


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales