Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probléme dans l'ajout d'un enregistrement [ Base de données / Access ] (youma85)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 9,220 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.