Probleme InsertCommand et DataAdapter.Update

Résolu
forum_ma Messages postés 112 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 31 juillet 2006 - 23 févr. 2006 à 19:40
forum_ma Messages postés 112 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 31 juillet 2006 - 24 févr. 2006 à 15:09
Bonjour j'ai un probleme avec un insertCommand.

Voici ma fonction :


Public
Sub saveDataAdd(
ByVal value
As
String,
ByVal theDate
As DateTime,
ByVal group
As
Integer)

Dim bufferDate
As
New DateTime(theDate.Year, theDate.Month, theDate.Day)

définition de la requete
Dim cmdInsert
As
New OleDb.OleDbCommand("INSERT INTO TblDate ( [Date], Groupe, Texte ) VALUES (#" & bufferDate & "#, '" & group & "', '" & value & "')", ObjetConnection)

ObjetDataAdapter.InsertCommand = cmdInsert

'Faire l'ajout dans la BD
Try
ObjetDataAdapter.Update(ObjetDataSet, "tblDate")

Catch ex
As Exception
MsgBox("ERREUR", MsgBoxStyle.Critical)

End
Try
ObjetDataSet.Clear()
fillDataSet()

End
Sub

Mon probleme est que mon ca ne se met pas a jour... Je fais la meme chose avec une commande Delete et Update et tous va bien... Mais avec le Insert ya rien... Lorsque sa passe dans le try ya pas d'erreur, mais requete SQL est bonne (Je l'ai tester dans Access). La fonction fillDataSet() marche aussi, en faite ce que je fais c'est que apres avoir updater mon adapter, je vide mon dateset pour le réemplir avec les données trier...

Je ne sais pas si vous pouvez m'aider mais j'aimerais sa!!!

2 réponses

forum_ma Messages postés 112 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 31 juillet 2006
24 févr. 2006 à 15:09
Finalement j'ai réussis comme sa :



Dim ObjetCommandBuilder
As OleDbCommandBuilder

'creation de la commande d'ajout
Dim bufferDate
As
New DateTime(theDate.Year, theDate.Month, theDate.Day)

'définition de la requete
Try
ObjetConnection.Open()

Dim cmdInsert
As
New OleDb.OleDbCommand("INSERT INTO TblDate [Date], Groupe, Texte ) VALUES (#" & bufferDate.Year & "-" & bufferDate.Month & "-" & bufferDate.Day & "#, '" & group & "', '" & value & "')", ObjetConnection)

'Faire l'ajout dans la BD
Dim count
As
Integer
count = cmdInsert.ExecuteNonQuery
ObjetConnection.Close()
ObjetDataAdapter.Update(ObjetDataSet, "tblDate")

Catch ex
As Exception
MsgBox("ERREUR ADD", MsgBoxStyle.Critical)

End
Try
'Mettre a jour le DataSet
ObjetDataSet.Clear()
fillDataSet()

Sa marche et la vitesse est pas si pire... je ne suis pas sur que c'est le meilleur code je pouvais faire mais pour l'instant sa marche c'est le principal!!

Merci pour l'aide!!!
3
aydendeliadon Messages postés 19 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 20 avril 2006
24 févr. 2006 à 10:43
il faut appliquer un objet de construction de commande ligne en rouge. N'oublie pas de le déclarer avant.

'Faire l'ajout dans la BD
Try
objetcommandbuilder= new oledbcommandbuilder(objetdataadapter)
ObjetDataAdapter.Update(ObjetDataSet, "tblDate")
Catch ex As Exception
MsgBox("ERREUR", MsgBoxStyle.Critical)
End
Try

Cà devrait marcher comme çà, en tout cas chez moi çà fonctionne.
0
Rejoignez-nous