Page 1 sur 1

[R] Comment traiter le résultat d'une requête SQL

Posté : ven. 17 avr. 2015 10:17
par jeanphi45
Bonjour ,

Dans mon script auto it J'ai une requête SQL ( sous postgresql ) qui me retourne 1 colonne et plusieurs lignes.

Je voudrais ensuite boucler sur chaque ligne
Quand le résultat SQL est sur plusieurs lignes , comment traiter le résultat ? Est-ce un tableau ?

extrait de mon code :

Code : Tout sélectionner

   $query = "SELECT DISTINCT id_prelevement FROM med.etiquette_cns WHERE oid = '" &  $code_barre & "' "
   $adoRs.Open ($query, $oConn)
   $id_prelevement  = $adoRs.Fields("id_prelevement").value
Le pb dans ce code est que je ne traite que la 1ère ligne.

Est-ce que c'est en rapport avec le type de curseur ? ici j'ai $adoRs.CursorType = 1. Que veut dire le 1 ?
Peut-on faire un while wend sur autant de lignes que le résultat de la requête SQL ?

Merci !

Re: [..] Comment traiter le résultat d'une requête SQL

Posté : ven. 17 avr. 2015 10:51
par jeanphi45
J'ai aussi vu l'instruction With ... EndWith mais je ne sais pas déjà comment nommer le résultat de ma requête , puis comment récupérer chaque ligne

[R] Comment traiter le résultat d'une requête SQL

Posté : ven. 17 avr. 2015 11:33
par jeanphi45
En faisant des essais , j'ai trouvé :

Code : Tout sélectionner

With $adoRs
                   While Not .EOF
            $id_prelevement  = $adoRs.Fields("id_prelevement").value
                        msgbox(0,"",$id_prelevement)
                   .MoveNextWEnd
EndWith

 

Re: [..] Comment traiter le résultat d'une requête SQL

Posté : ven. 17 avr. 2015 12:10
par jeanphi45
je mets en PJ le code complet ( adapté au forum)

exemple.au3
(1.3 Kio) Téléchargé 137 fois

Re: [R] Comment traiter le résultat d'une requête SQL

Posté : ven. 17 avr. 2015 20:46
par Clean
Yop.je répond alors que je ne devrais sûrement pas
J'ai fais du sql cependant jamais avec autoit ...
Bref ce qui me saute aux yeux c'est : ad tu vérifié que ton résultat est un string/Array ? (C'est relativement simple)
Je ne peut pas vérifier car je n'ai pas accès à un Pc dans l'immédiat : cependant que te dis le précis de la fonction dans la section aide (requête F1) ?