Comment savoir si une requête à bien fonctionnée avec un Resultset

Comment savoir si une requête à bien fonctionnée avec un Resultset - VB/VBA/VBS - Programmation

Marsh Posté le 26-05-2003 à 15:10:38    

Salut  :hello: !
Je gère une bdd mySQL interrogée par Visual basic.  
J'aurais voulu savoir comment faire pour détecter les erreurs possibles lors d'un insert ou update ?  
Comment sait-on, avec l'objet resultset, que tout s'est bien passé ?

Reply

Marsh Posté le 26-05-2003 à 15:10:38   

Reply

Marsh Posté le 26-05-2003 à 15:41:16    

Ah et une précision :
Si je me met en mode "transactionnel" logiquement le resultset ne me mettra jamais d'erreurs non ? elles apparaitront lorsqu'il y aura le "commit" et là si y'a un pb cela fera "rollback" ?

Reply

Marsh Posté le 26-05-2003 à 15:48:55    

Si tu as une erreur dans ta query, style erreur de syntaxe, sois tranquille, VB te le fera savoir au moyen d'une erreur classique (qu'on produit artificiellement en faisant un Err.Raise) avec un message qui sera parfois compréhensible, parfois cauchemardesque.
 
Toutefois il est vrai que ta requête peut n'avoir rien affecté.  Avec un Select, c'est facile: ton recordset en retour est vide.  En ADO, si tu utilises la méthode Execute, il te suffit de passer un paramètre supplémentaire pour savoir combien de records ont été touchés par la requête lancée (que ce soit select, insert, update ou delete).
 
Mais au fait tu bosses avec quoi? :D  VB6 ou VB.NET?  Tu utilises ADO?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-05-2003 à 15:59:48    

C'est VB5.
Donc avec le nombre d'enregistrements touchés, ce sera bon ?
Si par exemple j'ai un problème par rapport à une clé primaire (je souhaite créer un enregistrement qui à la même clé) il me dira qu'il a modifié 0 enregistrement ?  
Si oui alors merci, ça devrait le faire...Mais alors pour le mode transactionnel, va-t-il modifier l'enregistrement et annuler au moment du commit ou ne va-t-il rien faire ?

Reply

Marsh Posté le 26-05-2003 à 16:00:51    

Oui j'utilise ADO avec une source ODBC qui pointe vers un serveur SQL

Reply

Marsh Posté le 26-05-2003 à 16:02:11    

Dans le cas d'un enregistrement donc la clé serait identique à un enregistrement existant, ce sera erreur VB, que tu devras gérer comme n'importe quelle erreur classique VB.  Le mode transactionnel n'a rien à voir là-dedans.  Il te servira justement à annuler ta transaction en cours si tu considères l'erreur de clé primaire (pour reprendre ton exemple) comme fatale à cette transaction.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-05-2003 à 16:07:40    

OK, merci pour cette clarification.
Tchô  :hello:  

Reply

Marsh Posté le 02-01-2005 à 15:57:07    

J'aurais besoin de réaliser un programme VB pour manipuler une BD mySQL mais je ne sais par quel bout commencer ni comment m'y prendre.
J'ai fait quelques recherches de code sur internet mais je n'ai rien trouvé de satisfaisant.
 
Aussi, je me permets de demander s'il serait possible de bénéficier des sources de ton programme ?
 
Au plaisir de te lire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed