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