Pb UPDATE SQL

GroSam Messages postés 24 Date d'inscription lundi 19 août 2002 Statut Membre Dernière intervention 26 mai 2005 - 22 août 2003 à 10:42
GroSam Messages postés 24 Date d'inscription lundi 19 août 2002 Statut Membre Dernière intervention 26 mai 2005 - 25 août 2003 à 14:38
Salut!

Alors voila G 1 probleme pour utiliser 1 requete UPDATE...

Des que je lance la requete le message suivant apparrait
->"L'operation doit utiliser 1 requete qui peut etre mis a jour"

J'comprend po ce qui cloche...voici mon code
-> la requete marche : je l'ai testé
->la connection a la base ce fait bien : d'autre requete
tourne niquel ds le programme

Dim cmdUpdate As New ADODB.Command
Dim rsUpdate As New ADODB.Recordset
Dim ysql As Variant

        
       ysql = "UPDATE ECHANTILLON SET valeur= 99999 where cod_lot= 'toto';"
        
        
        cmdUpdate.ActiveConnection = cnn
        cmdUpdate.CommandText = ysql

        rsUpdate.CursorLocation = adUseClient
        rsUpdate.CursorType = adOpenDynamic
        rsUpdate.LockType = adLockPessimistic
        rsUpdate.Open cmdUpdate


Ce qui m'etonne le + C que G deja utilisé ce code et que ca marche niquel...

Alors si qlq1 peu m'aider ca serait vraiment cool!

Merci d'avance!

4 réponses

gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
22 août 2003 à 11:12
Tu n'as pas besoin de passer par un recordset. Tu peux directement faire

cmdUpdate.ActiveConnection = cnn
cmdUpdate.CommandText = ysql
cmdUpdate.execute

@+
0
GroSam Messages postés 24 Date d'inscription lundi 19 août 2002 Statut Membre Dernière intervention 26 mai 2005
22 août 2003 à 11:50
Merci pour ta reponse mais le probleme reste identique...
toujours le meme message d'erreur! :(

Par contre j'ai pi t'etre 1 piste: le code fonctionne quand j'utilise une bdd Access mais po quand la bdd est Oracle...
Or il faut que j'utilise Oracle !

Y a t'il une facon de proceder special pour passer un UPDATE dans ORACLE ????

Merci pour les reponses !
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 août 2003 à 14:53
currentdb.execute("insert into table values(val1,val2, ....)")
ou
currentdb.execute("insert into table select champs1, champs2, ... from table2 where ........")
0
GroSam Messages postés 24 Date d'inscription lundi 19 août 2002 Statut Membre Dernière intervention 26 mai 2005
25 août 2003 à 14:38
Ok, G reussi a faire ce ke je voulais!!!
Pour ceu ke ca interresse le pb venait en faite de la connexion :
Auparavant j'utilisait ca
->
cnn.Provider = "Microsoft.Jet.OLEDB.3.51"
cnn.ConnectionString= "ODBC;dsn=toto;uid=toto;pwd=toto;"


Mais avec Oracle pour faire un Update ou un Delete en SQL
y faut apparement utilisé ca
->
cnn.ConnectionString= "Provider=MSDAORA.1;Password=toto;User ID=toto;Data Source=toto;Persist Security Info=True"


Voila, le pb venait donc du provider...
Tchuss !!
0
Rejoignez-nous