Comment executer 2 requetes SQL dans une même commande en VB.net
cs_Caussenard
Messages postés28Date d'inscriptionvendredi 16 juillet 2004StatutMembreDernière intervention 8 juillet 2008
-
12 juin 2008 à 15:59
cs_Caussenard
Messages postés28Date d'inscriptionvendredi 16 juillet 2004StatutMembreDernière intervention 8 juillet 2008
-
16 juin 2008 à 16:40
Bonjour, mon problème est le suivant:
Je veux executer 2 requetes SQL (en bleu et en maron) dans une même commande, cette commande marche sous easyphp ainsi quand JAVA "avec le point vigule" mais pas au travers de VB2008.
Les bases de données sont sous MySQL.
J'utilise le driver MySQL ODBC 5.1
command = "INSERT INTO `bd_1`.`gamme`(num_phase, description_phase, element, affectation)" & _
"SELECT num_phase, description_phase, element, affectation FROM `bd_1`.`gamme_std`WHERE num_phase='140' ;
" & _
"UPDATE `bd_1`.`gamme`SET programme ='TEST', el='essais', tr='test' WHERE programme='' AND el='' AND tr=''"
Le but est de copier les données de `bd_1`.`gamme_std` sous `bd_1`.`gamme` avec les champs programme, el et tr en plus en une seulle commande.
Si vous avez une autre idée ou la bonne syntaxe?
cs_Caussenard
Messages postés28Date d'inscriptionvendredi 16 juillet 2004StatutMembreDernière intervention 8 juillet 20081 12 juin 2008 à 17:03
Je ne pense pas que ce soit un problème VB cette syntaxe est propre à MySQL puisqu'elle est comprise dans les guillemets.
Ce doit être donc dû au driver MySQL ODBC 5.1 c'est pourquoi je pense qu'il s'agit d'un problème de syntaxe.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 juin 2008 à 17:32
Salut
En fait, ce n'est pas un problème de VB mais de SQL.
Pour faire deux choses (presque) en même temps, il faut utiliser les transactions :
Je ne suis pas sûr de la syntaxe sous mySQL :
BeginTrans : Début de la transaction
ici, tu lances les requètes que tu veux éxécuter, l'une derrière l'autre, mais pas dans la même requète
CommitTrans : Exécute les ordres
ou
RollBackTrans : Annule tous les ordres
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Caussenard
Messages postés28Date d'inscriptionvendredi 16 juillet 2004StatutMembreDernière intervention 8 juillet 20081 16 juin 2008 à 16:40
Effectivement le je pense que c'est la solution "BeginTrans " mais je n'ai pas trouvé la bonne syntaxe, c'est pourquoi je suis quand même repassé à deux requettes séparé (Urgence du projet oblige).
Merci quand même pour vos pistes.