Quelqu'un s'est-il déjà amusé à wrapper les TSQLQuery afin de rendre leur utilisation moins lourde au niveau de la syntaxe ?

Je suis entrain d'écrire une classe qui est composée d'un TSQLQuery et qui permettra la syntaxe suivante.

Voici un exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ulint findFirstnameOfUser( ulint userID ) {
   SqlQuery query( connector, 
       "SELECT FIRSTNAME FROM USER WHERE ID = :ID ");
   return query("ID", userID).activate()["FIRSTNAME"];
}
En gros, je vais modifier ma classe pour permettre d'écrire quelque chose de plus simple, et dans le cas où la query ne retournerait aucun résultat, avoir alors une valeur par défaut.
Exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SqlQuery query( connector, 
   "SELECT 1 FROM USER WHERE EXISTS ( .... )" );
return ( query("ID", userID)() | 0 );
l'opérateur "()" aurait été surchargé pour appeler le Active du TSQLQuery,

dans le cas où le resultat serait vide, on retourne 0 via l'opérateur "|".


Qu'en pensez-vous ???

Avez-vous eu des idées similaires ?

Merci