Envoyé par
toto4650
Tu voudrais dire que un enregistrement contenant un champ qui a pour valeur l'ensemble d'un tableau de pair de float serait plus gros que plusieurs enregistrement contenant 2 champs de type float (quel phrase on ne peut plus clair !).
Non, tout ce que je veux dire, c'est que tu peux construire petit à petit une requête qui va créer un enregistrement. Tu n'es pas obligé de la coder en une instruction.
Prenons un exemple :
1 2 3 4 5 6 7 8 9 10 11 12
| std::ostringstream ossReq;
ossReq << "insert into matable (id,data) values(42,'";
ossReq << "a";
ossReq << "b";
ossReq << "c";
ossReq << "d";
ossReq << "e";
ossReq << "f";
ossReq << "');";
feriamanLauchRequest(ossReq); |
lors de l'appel de feriamanLauchRequest, le flux passé en paramètre contient :
insert into matable (id,data) values(42,'abcdef');
Je n'aurait donc bien qu'un seul enregistrement, un seul champ qui contient "abcdef" et pourtant j'ai construit ma requête en plusieurs fois.
par comparaison, ton approche ressemble plutot à ça :
1 2 3 4 5 6 7 8 9 10 11 12
|
char myArray[] = new char[6];
myArray[0] = 'a';
myArray[1] = 'b';
myArray[2] = 'c';
myArray[3] = 'd';
myArray[4] = 'e';
myArray[5] = 'f';
std::ostringstream ossReq;
ossReq << "insert into matable (id,data) values(42,'" << myArray << "');"; |
et non seulement c'est dépenser de l'énergie pour rien, mais en plus c'est plus dur à faire.
Note : feriamanLauchRequestn'est pas une fonction de ta librairie de bdd, c'est juste pour l'exemple. Je lui donne un nom bizare pour que tu ne la prenne pas pour telle.
Partager