Comment faire un SQL Update via Ado ...

Résolu
cs_CharlEm
Messages postés
39
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
28 janvier 2009
- 13 avril 2005 à 15:09
cs_CharlEm
Messages postés
39
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
28 janvier 2009
- 15 avril 2005 à 09:55
Bonjour,



J'arrive à faire un SELECT avec ADO mais quand je fais une commande
Update, j'obtiens une réponse "TABLE OU VUE INCORRECTE" pourtant dans
Sqlplus ça va donc je pense que j'ai merdé dans le code mais où ...
c'est là que j'ai besoin de l'avis d'un grand maitre du vb ;o)



Merci à tous

...

rsResult.Close

Label4.Caption = "Etape finale"

Label3.Caption = ""

Label2.Caption = "Veuillez patienter pendant que le programme formate les données"

DoEvents

msg = "17"

SQL "UPDATE honorair SET type_chambre 'NA' WHERE type_chambre = ' '"

Call ExecSQL(SQL, rsResult, cmdADO)



' Procédure d'éxécution d'une commande SQL

Public Sub ExecSQL(sSQL As String, rsADOExec As ADODB.Recordset, ado As ADODB.Command)

If sSQL <> "" Then

ado.CommandText = sSQL

rsADOExec.CursorLocation = adUseClient

rsADOExec.CursorType = adOpenDynamic

rsADOExec.LockType = adLockOptimistic

rsADOExec.Open ado ==> SE PLANTE ICI

ado.CommandText = ""

End If

End Sub

3 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
13 avril 2005 à 17:54
Salut
Parce que la méthode rst.Open ne fonctionne qu'avec un Select, c'est normal puisque tu lui demandes de récupérer une série d'enregistrements.
Pour les commandes Delete ou Update, il faut utiliser
maConnexion.Execute maRequète, maVar
et il te renverra dans maVar le nombre d'enrtegistrements touchés par ta commande.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
cs_CharlEm
Messages postés
39
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
28 janvier 2009

14 avril 2005 à 10:15
Bonjour,



Merci pour la réponse, je comprend maintenant pourquoi ça ne fonctionne
pas mais je dois avoir mal adapté mon code car il me dit "Table ou vue
inexistante".



Dim SQL As String

Public objADO As New ADODB.Connection

Public cmdADO As New ADODB.Command

...

objADO.Open "Provider=MSDAORA.1;Password=xxx;User ID=corfac;Data Source=corf"

cmdADO.ActiveConnection = objADO

...

SQL "UPDATE honorair SET type_chambre 'NA' WHERE type_chambre = ' '"

cmdADO.CommandText = SQL

cmdADO.Execute SQL ==> se plante ici

...



Moulte merci
0
cs_CharlEm
Messages postés
39
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
28 janvier 2009

15 avril 2005 à 09:55
Non mea culpa c'est moi qui avait fait une fôte d'ourtaugraffe .



Encore merci Jack
0