[R] Sqlite et recordset à un résultat

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

[R] Sqlite et recordset à un résultat

#1

Message par scorp84 »

Bonjour,

Voici ma requête :

Code : Tout sélectionner

_SQlite_Query (-1, "SELECT etat FROM  clients WHERE client='1985';", $hQuery)
$res=""
While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
     $res= $aRow[0]
WEnd

MsgBox(0,"etat",$res)
Cette requête me permet d'obtenir l'état du client 1985.

Est il possible quand une requête envoie un résultat "simple" d'éviter de passer par un while et de valoriser le résultat directement ?

Code : Tout sélectionner

_SQlite_Query (-1, "SELECT etat FROM  clients WHERE client='1985';", $hQuery)
$res=???
Merci d'avance.

Amicalement.

BM
Modifié en dernier par scorp84 le jeu. 29 sept. 2011 16:21, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sqlite et recordset à un résultat

#2

Message par ZDS »

Bonjour,

Tu peux très bien le faire. Mais ton cas particulier ne reflète pas la généralité des requêtes, qui peuvent avoir plusieurs résultats. Dans ton cas, tu n'en as qu'un MAIS je te conseille de gérer le cas où tu en aurais plusieurs ou aucun.

Code : Tout sélectionner

Func _getOneResultFromSQliteQuery($bdd, $sql, ByRef $req)
    Local $ligne
    _SQlite_Query($bdd, $sql, $req)
    If _SQLite_FetchData($req, $ligne) <> $SQLITE_OK Then SetError(1,0,"")
    Local $resultat = $ligne[0]
    If _SQLite_FetchData($req, $ligne) = $SQLITE_OK Then SetError(2,0,"")
    Return $resultat
EndFunc
Pas testé car aucune BdD sous la main. Mais le principe est simple :
- Si pas de résultat, @error = 1
- Si plus d'un résultat, @error = 2
- Si un seul résultat, retour du résultat tout bonnement ^^

A bientôt !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Sqlite et recordset à un résultat

#3

Message par scorp84 »

Excellent : tout pile ce que je voulais :-)

T'es trop fort hi hi hi

Merci ++++

Amicalement.

BM
Répondre