Bonjour,
J'ai donc une base de données mysql installée avec easyphp 1.8, j'ai créé une connexion ODBC en utilisant le driver mysql odbc 5.1.
Je me connecte ensuite à ce lien ODBC via un script VB pour mettre à jour la base, mais la fonction recordset.delete me remonte une erreur 80004005 : "la suppression basée sur une requête a échoué car la ligne à supprimer est introuvable", ce qui est bizarre car la ligne du dessus affiche correctement le contenu du champs (recordset("field")).
Voici mon code :
La connexion se passe donc bien, la requête aussi, il y a plusieurs enregistrements "toto" dans ma base, le premier echo s passe bien mais le script plante juste après lors de l'opération rs.delete.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
 1
2
3
4
5
6
7
8
9
10
11
12
13
14 set cn = CreateObject("ADODB.Connection") set rs = CreateObject("ADODB.Recordset") cn.connectionstring = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mydatabase;User=user;Option=3;" cn.open rs.open "select * from table where type = 'toto';", cn, 0, 3 while not rs.eof wscript.echo rs("name") rs.delete rs.movenext wend rs.update rs.close cn.close
L'utilisateur a les droits nécessaires pour éditer la base, je ne sais plus trop quoi faire...
Merci de votre aide
		
		
        




  Répondre avec citation


 
 
 
 
 
 
 
  
 
) le problème vient du fait que tu supprimes toutes les entrées dans le recordset avec la fonction delete, et qu'ensuite tu tentes de passer sur l'enregistrement suivant, qui n'existe alors plus...
 
 

Partager