Bonjour
j'utulise interbase comme sgbd
est il possible avec une requete sql d'affecter a une variable bollean le true dans une recherche(c-a-d si il trouvera ce que il cherche il affecte le true a cette variable)
Version imprimable
Bonjour
j'utulise interbase comme sgbd
est il possible avec une requete sql d'affecter a une variable bollean le true dans une recherche(c-a-d si il trouvera ce que il cherche il affecte le true a cette variable)
Salut;
A ma connaissance oui. Faut juste être sûr du type déclaré, si ton SGBD prend en charge True et False alors c'est bon sinon tu peux toujours contourner le problème en déclarant un champs à deux valeurs (0 ou 1) puis le test est tout à fait semblable à n'importe quel test.
Je pense à ça :
Bonne chance.Code:
1
2
3
4
5
6 Select * From taTable Where TonChampBool=:var1 .... ibQuery1.Params[0].AsBoolean := 'True'; ibQuery1.Open;
Merci mais c pas ce que je veux
je veux affecter le true a une variable dans le cas ou je trouve ce que je cherche
si nom="amine" alors
tr:=true;
je veux ca en requette sql si c possible
merci
Salut;
donc c'est plus facile que ce que je pensais :D
A condition que Trouve soit de type boolean. Le principe étant simple, si le nombre d'enregistrements retournés est supérieur à zéro donc y a au moins un enregistrement satisfaisant la condition !Code:
1
2
3
4
5
6 Select * From taTable Where tonChamp = 'amine' .... ibQuery.Open; if ibQuery.RecordCount > 0 then Trouve := True;
Re
Merci mon amis
probleme resolu
Tant mieux pour toi alors mais n'oublie pas le tag "Résolu" c'est pratique. :yaisse2:
deux petites remarques
peut se réécrireCode:
1
2 if ibQuery.RecordCount > 0 then Trouve := True;
sinon le booléen risque de ne pas être (ré)initialiséCode:
1
2 Trouve:=(ibQuery.RecordCount > 0);
de plus Recordcount est "lent" pourquoi ne pas tester sur la récupération d'au moins une valeur qui on en est sur sera non non nulle (par exemple la clé primaire)
Code:
1
2 Trouve:=not (ibQuery.fields[0].isnull);
Merci Maître, j'apprécie les deux remarques c'est d'ailleurs ça le point fort du forum. :D