Insertion dans une BD +ODBC

faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011 - 22 mars 2010 à 18:30
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 - 22 mars 2010 à 23:51
salut;
je veux insérer des veleurs dans une BD access et j'ai utilisé le provider ODBC.
le code pour l'insertion:
.....
dr = dt.NewRow()
dr(0) = CInt(TextBox1.Text)
dr(1) = TextBox2.Text
dr(2) = TextBox3.Text
dr(3) = CDate(TextBox4.Text)
dt.Rows.Add(dr)
cb = New SqlCommandBuilder(da)
da.Update(ds, "MaTable")
ds.AcceptChanges()
....

dt c'est une datatable,dr c'est un dataRow, ds c'est une dataSet.

ceci me génère le problème suivant:

ERROR[42000][Microsoft][Pilote ODBC Microsoft Access]Erreur de syntaxe dans l'instruction insert into.


sachant que j'ai utilisé la même syntaxe en trvaillant avec une BD sql server et sqlclient comme fournisseur, et ça marhe parfaiement.

c'est le problème alors?

merci de m'aider.

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
22 mars 2010 à 18:51
salut,

Passes par un odbccommandbuilder et ca marchera peut etre.
tous les sql deviennnent obdc pour access

Bon dev
0
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
22 mars 2010 à 21:56
pardon j'ai commis une faute, c'est odbccommandBuilder et pas sqlcommandbuilder

dr = dt.NewRow()
dr(0) = CInt(TextBox1.Text)
dr(1) = TextBox2.Text
dr(2) = TextBox3.Text
dr(3) = CDate(TextBox4.Text)
dt.Rows.Add(dr)
cb = New odbcCommandBuilder(da)
da.Update(ds, "MaTable")
ds.AcceptChanges()

la selectiion marche bien mais l'insertion, la modification et la suppression ne marchent pas.

aidez moi !!!!!!!
0
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
22 mars 2010 à 23:31
j'ai essayé avec une requête simple
com.CommandText = "insert into messagers('" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "')"
com.ExecuteNonQuery()

ça me donne la même erreur !
0
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
22 mars 2010 à 23:49
la dernière requête marche, j'avait oublié de mettre le mot values.
mais il reste la première méthode. je veux travailler en mode déconnecté.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
22 mars 2010 à 23:51
Merci d'indiquer les types
et de paasser si possible par des requetes paramétres
Ca evite les erreurs

De plus il est preferable de faire une requete complete

insert into messagerrs (col1,col2) values(....,...)

De tester la requete en directe dans access

Les dates en access c'est #date#, mais tu n'aurais ce probleme si tu utilises les requetes
paramétrése.


Bon dev
0