cs_soukaina19
Messages postés29Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention23 avril 2010 15 juil. 2008 à 23:52
slt ,
j'ai déja eu le méme probléme
je l'ai regler . le probléme ce trouve dans la base de donnée tu doit verifier les noms des champ dans la base de donnée . moi j'ai trouver qu'un nom de champ été un mot clé pour access et quand je lui a changer tout a marché bien .verifi ca d'abord .
si nom voila le code ke j'utilise :
Largo357
Messages postés9Date d'inscriptionmardi 1 juillet 2008StatutMembreDernière intervention29 juillet 20081 12 juil. 2008 à 14:17
Tout d'abord, merci pour ta réponse !
Je pense avoir les droits pour écrire dedans... je ne sais pas comment j'aurai pu désactiver ce droit d'ailleurs !
Voilà le texte exact de l'erreur, qui apparaît lors du débogage:
"L'exception OleDbException n'a pas été gérée:
Erreur de syntaxe dans l'instruction INSERT INTO"
Elle apparaît au niveau de "dta.update(dts, "table")"
Je suis vraiment désespéré, please help !
Si vous avez une autre façon d'insérer des enregistrements dans une table access, je suis aussi preneur , cela me permetterait de contourner ce problème.
Largo357
Messages postés9Date d'inscriptionmardi 1 juillet 2008StatutMembreDernière intervention29 juillet 20081 11 juil. 2008 à 17:22
Bonjour !
Je code sur visual express 2008 depuis peu, et je suis en train de
m'arracher les cheveux car je n'arrive pas à trouver un code qui marche
pour insérer un enregistrement dans une table access. Pour la lecture, il
n'y a aucun problème, par contre, pour l'insertion, on m'affiche "Erreur de
syntaxe dans l'instruction INSERT INTO" au niveau de l'update du dataAdapter.
Voici mon code :
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Public Class Form1
'Variables pour la connection et les requetes
Dim Conn, sql As String
'objet connection
Dim Cnx As OleDbConnection
'objet commande
Dim cmd As OleDbCommand
'objet dataadpter
Dim dta As OleDbDataAdapter
'contiendra la table
Dim dts As New DataSet
'contiendra la table
Dim dtt As DataTable
'position dans les enregistrement
Dim rownum As Integer
'Pour la saisie
Dim dtr As DataRow
'commande builder
Dim cmdb As OleDbCommandBuilder
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Conn "provider microsoft.jet.oledb.4.0 ; data source = " & "C:\Documents and Settings\rob\Mes documents\chose\Stage\Stage\bdd\bdd\basedd.mdb;"
'creation de l'objet connection
Cnx = New OleDbConnection
'connexion
Cnx.ConnectionString = Conn
Cnx.Open()
'requete
sql = "select table.* from [table]"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = Cnx
'chargement de la base & etablissement des listes
dta.Fill(dts, "table")
dtt = dts.Tables("table")
'Jusqu'ici pas de problème. Je visualise les données de ma
'table dans un datagridview, et tout marche nickel
'Creation de la nouvelle ligne dans le dtr
dtr = dts.Tables("table").NewRow
dtr("nom") = "truc"
dtr("prénom") = "chose"
dtr("remarque") = "machin"
'Ajout dans le dataset
dts.Tables("table").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
'à partir du commandbuilder
dta.Update(dts, "table")
'c'est ici que l'erreur de syntaxe dans l'instruction INSERT INTO apparaît
'on vide le dataset pour le recréer avec
'les nouvelles données
dts.Clear()
dta.Fill(dts, "table")
dtt = dts.Tables("table")
End Sub
End Class
Voilà, j'ai beau chercher des explications sur le site, ceux qui ont codé de façon semblalble
à la mienne ne rencontrent pas de problème. Que dois-je faire à votre avis? (surtout que
je n'ai aucun "insert into" !!!!!)
Merci beacoup pour vos réponses,
Cordialement
Simon
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 11 juil. 2008 à 18:23
Salut
Erreur dans l'instruction "Insert Into" ?
Quel est le texte exact de cette erreur ?
Ce texte est-il en anglais, ce qui expliquerait que tu puisses rencontrer ce terme ?
Regarde du côté des droits d'accès à ta DB : As-tu le droit d'écrire dedans ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
tarekmrini
Messages postés2Date d'inscriptiondimanche 6 août 2006StatutMembreDernière intervention25 août 2008 25 août 2008 à 13:32
Salam c'est tarek
merci les amis j'ai bon chercher le code pour se connecter a une base de donnee acces mais sans
resultat
mais grace a dieu et a vous j'ai ruéssi a finir le programme je vous remercie infinement