Bonjour,
J'ai posté ce message sur www.developpez.com, mais je n'ai pas eu de
réponses intéressantes.
En gros, pour ceux qui developpe avec Borland C++ Builder 6, TSQLQuery est
une classe permettant de lancer des queries SQL sur une DB ( suffit de
lire le nom de la classe :d ).
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper au
dessus de TSQLQuery afin de simplifier son utilisation.
Alors, est-ce que quelqu'un a déjà tenté l'aventure ?
la classe est déjà très simple d'utilisation il me semble.
Bonjour,
J'ai posté ce message sur www.developpez.com, mais je n'ai pas eu de
réponses intéressantes.
En gros, pour ceux qui developpe avec Borland C++ Builder 6, TSQLQuery est
une classe permettant de lancer des queries SQL sur une DB ( suffit de
lire le nom de la classe :d ).
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper au
dessus de TSQLQuery afin de simplifier son utilisation.
Alors, est-ce que quelqu'un a déjà tenté l'aventure ?
la classe est déjà très simple d'utilisation il me semble.
Bonjour,
J'ai posté ce message sur www.developpez.com, mais je n'ai pas eu de
réponses intéressantes.
En gros, pour ceux qui developpe avec Borland C++ Builder 6, TSQLQuery est
une classe permettant de lancer des queries SQL sur une DB ( suffit de
lire le nom de la classe :d ).
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper au
dessus de TSQLQuery afin de simplifier son utilisation.
Alors, est-ce que quelqu'un a déjà tenté l'aventure ?
la classe est déjà très simple d'utilisation il me semble.
la classe est déjà très simple d'utilisation il me semble.
Perso dans mes applis j'utilise une classe autour pour fixer le "database"
mais rien de plus.
Tu peux préciser un peu qu'est-ce que tu veux simplifier dans l'utilisation
de TQuery ?
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
la classe est déjà très simple d'utilisation il me semble.
Perso dans mes applis j'utilise une classe autour pour fixer le "database"
mais rien de plus.
Tu peux préciser un peu qu'est-ce que tu veux simplifier dans l'utilisation
de TQuery ?
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
la classe est déjà très simple d'utilisation il me semble.
Perso dans mes applis j'utilise une classe autour pour fixer le "database"
mais rien de plus.
Tu peux préciser un peu qu'est-ce que tu veux simplifier dans l'utilisation
de TQuery ?
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper
au dessus de TSQLQuery afin de simplifier son utilisation.
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
pour me simplifier l'écriture.
unsigned long int id_user = 200;
SqlConnector sqlConnector; //< Contient les infos pour se connecter
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query["ID"] = id_user;
query.activate();
j'ai surchargé l'opérateur () pour qu'il prennent deux
arguments ou aucuns,
un exemple
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
Autre chose, j'ai modifié aussi ma classe pour que lorsque la query ne
trouve pas une valeur, elle puisse retourner une valeur par défaut.
En gros, j'ai réalisé une classe qui encapsule TSQLQuery dans un
auto_ptr. J'ai utilisé l'idiom RAII, et ajouter des opérateurs
d'assignations et de cast pour std::string, int, ulint, bool et TDateTime.
Ce qui me permet d'écrire, ceci ( version très simplifiée ).
std::string firstname, lastname;
TDateTime birthdate;
int sex;
SqlQuery query( sqlConnector, "SELECT FIRSTNAME, LASTNAME, BIRTHDATE,
SEX FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
if( !query.empty() ) {
firstname = query["FIRSTNAME"];
lastname = query["LASTNAME"];
birthdate = query["BIRTHDATE"];
sex = query["SEX"];
}
Alors si quelqu'un a quelque chose de similaire et qu'il désire le faire
partager, je suis preneur.
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper
au dessus de TSQLQuery afin de simplifier son utilisation.
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
pour me simplifier l'écriture.
unsigned long int id_user = 200;
SqlConnector sqlConnector; //< Contient les infos pour se connecter
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query["ID"] = id_user;
query.activate();
j'ai surchargé l'opérateur () pour qu'il prennent deux
arguments ou aucuns,
un exemple
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
Autre chose, j'ai modifié aussi ma classe pour que lorsque la query ne
trouve pas une valeur, elle puisse retourner une valeur par défaut.
En gros, j'ai réalisé une classe qui encapsule TSQLQuery dans un
auto_ptr. J'ai utilisé l'idiom RAII, et ajouter des opérateurs
d'assignations et de cast pour std::string, int, ulint, bool et TDateTime.
Ce qui me permet d'écrire, ceci ( version très simplifiée ).
std::string firstname, lastname;
TDateTime birthdate;
int sex;
SqlQuery query( sqlConnector, "SELECT FIRSTNAME, LASTNAME, BIRTHDATE,
SEX FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
if( !query.empty() ) {
firstname = query["FIRSTNAME"];
lastname = query["LASTNAME"];
birthdate = query["BIRTHDATE"];
sex = query["SEX"];
}
Alors si quelqu'un a quelque chose de similaire et qu'il désire le faire
partager, je suis preneur.
Je me suis demandé si quelqu'un avait déjà essayé d'écrire un wrapper
au dessus de TSQLQuery afin de simplifier son utilisation.
Un bête exemple d'utilisation que j'utilise maintenant au quotidien,
pour me simplifier l'écriture.
unsigned long int id_user = 200;
SqlConnector sqlConnector; //< Contient les infos pour se connecter
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query["ID"] = id_user;
query.activate();
j'ai surchargé l'opérateur () pour qu'il prennent deux
arguments ou aucuns,
un exemple
SqlQuery query( sqlConnector, "SELECT * FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
Autre chose, j'ai modifié aussi ma classe pour que lorsque la query ne
trouve pas une valeur, elle puisse retourner une valeur par défaut.
En gros, j'ai réalisé une classe qui encapsule TSQLQuery dans un
auto_ptr. J'ai utilisé l'idiom RAII, et ajouter des opérateurs
d'assignations et de cast pour std::string, int, ulint, bool et TDateTime.
Ce qui me permet d'écrire, ceci ( version très simplifiée ).
std::string firstname, lastname;
TDateTime birthdate;
int sex;
SqlQuery query( sqlConnector, "SELECT FIRSTNAME, LASTNAME, BIRTHDATE,
SEX FROM USER WHERE ID = :ID" );
query( "ID", id_user )();
if( !query.empty() ) {
firstname = query["FIRSTNAME"];
lastname = query["LASTNAME"];
birthdate = query["BIRTHDATE"];
sex = query["SEX"];
}
Alors si quelqu'un a quelque chose de similaire et qu'il désire le faire
partager, je suis preneur.