dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010
-
30 nov. 2005 à 09:20
dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010
-
15 déc. 2005 à 16:34
Bonjour,
Je désire mettre à jour un enregistrement d'une table SQL et pensais
avoir trouvé le bon code, mais problème je ne reçois aucun message
d'erreur et la table n'est pas mise à jour. Ci-dessous le code utilisé :
strSql = "UPDATE REF_PS SET EMPLACEMENT=" & Empl & ", CHARGE=" & Chargem & " WHERE ESRC_FILE = '"
strSql strSql & Dossier & "' AND RC_NUM '" & Client & "' AND PS_CODE = '" & Sequence & "'"
conn = New SqlConnection(strConn)
conn.Open()
CmdS = New SqlCommand(strSql)
conn.Close()
J'ai découvert VB il y a une semaine et suis loin de le maîtriser, merci d'avance pour votre aide.
Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010 15 déc. 2005 à 16:33
Après bien des recherches et une sérieuse fricassée de neurones, j'ai trouvé un code qui fonctionne :
' Modification du DataSet
With ds.Tables("REF_PS")
.Rows(0).Item("EMPLACEMENT") = Empl
.Rows(0).Item("CHARGE") = Chargem
End With
' Mise à jour SQL
strSql = "UPDATE REF_PS SET EMPLACEMENT='" & Empl & "', CHARGE='" & Chargem & "' WHERE ESRC_FILE = '" & Dossier & "' AND RC_NUM = '" & Client & "' AND PS_CODE = '" & Sequence & "'"
CmdS.CommandType = CommandType.Text
CmdS.CommandText = strSql
da.UpdateCommand = CmdS
da.Update(ds.Tables("REF_PS"))
Je ne sais pas trop pourquoi il faut simultanément modifier le DataSet et passer un requête "UPDATE ...", mais l'essentiel
est que ma base soit modifiée.
Merci aussi à vpoyo.
Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 30 nov. 2005 à 09:34
Il faut exécuter ta requête !! et également associer ta SqlCommand à ta connection
strSql = "ta requete sql"
conn = New SqlConnection(strConn)
conn.Open()
CmdS = New SqlCommand(strSql,strCom)
'ou
'Cmds = New SqlCommand()
'Cmds.Connection = conn
'Cmds.CommandText = strSql
'Cmds.CommandType = CommandType.Text
Cmds.executeNonQuery() '<-- retourne le nombre de ligne affecté
conn.Close()
ATTENTION : je ne les ai pas mis ici, mais n'oublie pas de bien gérer les exceptions try/catch
tu dois tester si tu as résussi a te connecter, et si tu as réussi a éxécuter ta commande !!!
dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010 5 déc. 2005 à 14:46
Bonjour,
Il n'y a rien à faire, impossible de mettre à jour mon enregistrement. J'ai aussi essayé la méthode suivante :
With ds.Tables("REF_PS")
.Rows(0).Item("EMPLACEMENT") = Empl
.Rows(0).Item("CHARGE") = Chargem
End With
da.Update(ds.Tables("REF_PS"))
qui me génère une erreur "System.InvalidOperationException was unhandled"
"Update requires a valid UpdateCommand when passed DataRow collection
with modified rows".
Un Try / Catch sur la 1ère méthode donne pas d'exception.
Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
dp_favresa
Messages postés132Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention11 mai 2010 15 déc. 2005 à 16:34
Après bien des recherches et une sérieuse fricassée de neurones, j'ai trouvé un code qui fonctionne :
' Modification du DataSet
With ds.Tables("REF_PS")
.Rows(0).Item("EMPLACEMENT") = Empl
.Rows(0).Item("CHARGE") = Chargem
End With
' Mise à jour SQL
strSql = "UPDATE REF_PS SET EMPLACEMENT='" & Empl & "', CHARGE='" & Chargem & "' WHERE ESRC_FILE = '" & Dossier & "' AND RC_NUM = '" & Client & "' AND PS_CODE = '" & Sequence & "'"
CmdS.CommandType = CommandType.Text
CmdS.CommandText = strSql
da.UpdateCommand = CmdS
da.Update(ds.Tables("REF_PS"))
Je ne sais pas trop pourquoi il faut simultanément modifier le DataSet et passer une requête "UPDATE ...", mais l'essentiel
est que ma base soit modifiée.
Merci aussi à vpoyo.
Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp