trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
18 juil. 2005 à 11:42
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010
-
18 juil. 2005 à 12:07
Bonjour tout le monde,
je bloqe désespérément depuis deux semaines sur un problème d'update avec oledbcommand...si quelqu'un pouvait me donner un coup de pouce ca m'éviterait de rendre un programme vide a la fin de mon stage!
J'obtiens le message d'erreur suivant :
"update requiert un insertcomand valide lors du passage de la collection datarow avec de nouvelles lignes"
' Création de la nouvelle ligne
memoire.Tables(
"Couple").Rows.Add(NewLigne)
Dim requete
As
String =
"SELECT * FROM Couple"
liaison =
New OleDbDataAdapter(requete, base)
Dim CmdBuild =
New OleDb.OleDbCommandBuilder(liaison)
liaison.InsertCommand = CmdBuild.GetInsertCommand
liaison =
New OleDbDataAdapter(requete, base)
liaison.Update(memoire,
"Couple")
2/ Si vous ne connaissez pas oledbcommand, je peux passer par l'execution de requete (mais j'aimerais éviter car je ne connais pas bien sql) quelle genre de requete dois je utiliser pour faire un update d'un datagrid avec un bouton "OK" (en prenant en compte les mofids, ajout, suppression de ligne)?
Encore merci de me dépatouiller de cette galère...
scortex84
Messages postés379Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention20 avril 20111 18 juil. 2005 à 11:57
Hello !
Je développe depuis 2 ans maintenant (que ça passe vite...) sous VB.NET.
Au début, j'ai essayé comme toi d'utiliser "update" pour synchroniser un dataset avec une base de donnée, mais c'est très rapidement l'ENFER !
Donc, comme tu le précises, il est 10000 fois mieux d'utiliser un object command avec une requete sql (bien sur, c'est mon avis perso, et cela n'engage que moi...)
Donc ta requete devrais prendre la forme : (de tete, je ne suis pas sur à 100% de la syntaxe)
dim cmd as new oledbcommand
cmd.connection = maconnection
cmd.commandtext = "Insert into Couple(champ1,champ2,champ3,etc..) values('" & ma_valeur1 & "','" & ma_valeur2 & "','" & etc... & "')"
cmd.executenonquery
trexor
Messages postés134Date d'inscriptionmercredi 9 mars 2005StatutMembreDernière intervention17 octobre 2010 18 juil. 2005 à 12:07
Merci pour ta reponse qui me fait poser deux questions bêtes de debutant en base de donnée :
Cette requete va insérer toute les données du datagrid? (elle ne va pas insérer seulement les nouvelles lignes?
cette requete va t'elle prendre en compte les champs modifiés par l'utilisateur (champ issues de la bd et presents sur le datagrid ) ?
Au fait j'ai introduit une erreur dans mon precedent post :
J'obtiens le message d'erreur suivant :
"erreur de syntaxe ds l'instruction insert into"