Hello
je suis quelque peux coincé.je vai essaye d'être explicite mai c est pas évident
j'ai donc une classe cSQL ,qui utilise une base de type sqlite
Avec une méthode qui a pour but d'utiliser la méthode public de la classe
sous cette forme:
void setInsert(const std::string & Valeur,const std::string & Table, const std::string & NameCol) ;
c'est donc par la suite facilment ecessible depuis l'exterieur de la classe d'inserer des donnée a première vue. le probleme viens évidament de l'interieur de la methode:
Et c'est la que sa coince car je prépare la requête avec la fonction en C de sqlite. http://www.sqlite.com/c3ref/prepare.html
Donc sa aurait cette forme:
1 2
| //std::string exe="INSERT INTO MATABLE (ID,NOM)VALUES (?,?)"
_RqInsertData= "INSERT INTO "+ Table + "(" + NameCol + ")VALUES (?)"; |
Le souci est de savoir comment je peux varier les appelles si les requêtes changes.
Par exemple à cause d 'une requête qui concerne non plus 1 table mai 2. Car un champs serai soumis aux contrainte (clef champs étrangère)
et donc les données doive être insérée en même temps dans une ou deux table.
Et la sa coince car
_RqInsertData= "INSERT INTO "+ Table + "(" + NameCol + ")VALUES (?)";
n'est plus possible , seul moyen est de passer la requette aux complet dans les argument avec les valeur. ce qui rend la methode peux utile et oblige a en faire une pour chaque posibiliter ...
l'idée serai donc aux final que la methode puisse être plus facile :
void setInsert(const std::string & Valeur,const std::string & ValeurIDtable,const std::string & Table,const std::string & IDTable, const std::string & NameCol,const std::string & IDNameCol) ;
sa permet donc d'affecter celons l'id qui fera référence a la bonne table et les valeur qui lui sont liée ...
j'espère avoirs été compris, car c'est loin d'être facile à expliquer.
Merci d'avance
Partager