Erreur d'EAccessViolation avec un String *
Bonjour,
Dans le but de récupérer des valeurs d'un champ d'une base de données, j'ai entrepris de récupérer les 3 lignes d'un champ et de les stocker dans un tableau de String.
Donc ^pour faire rapide, dans mon constructeur j'ai :
Code:
1 2 3
| nomEnfant = new String();
prenomEnfant = new String();
anneeNaissance = new String(); |
Donc chaque string correspond à un champ d'une table.
Lorsque je récupère mes infos de ma table, qui ne sont que des caractères (en mode pas à pas je visualise bien les valeurs retournées par ma requete SELECT), et que je veux les attribuer à chaque "tableau", j'ai un message d'erreur qui apparait pendant ma boucle.
voici le code de ma boucle :
Code:
1 2 3 4 5 6 7 8 9
| for(i=0;i<NbreRecord;i++)
{
nomEnfant[i] = ObjGestionQuery->GetResultRequete("NomEnfant");
prenomEnfant[i] = ObjGestionQuery->GetResultRequete("PrenomEnfant");
anneeNaissance[i] = ObjGestionQuery->GetResultRequete("AnneeNaissance");
ObjGestionQuery->GetObjDataModule().Query->Next();
} |
Donc j'ai en amont une requete SELECT qui récupère tous les champs en fonction d'une clé.
Ici c'est une liste d'enfant pour une famille. La clé étant la reference famille.
Donc si j'ai 3 enfants, j'aurai NbreRecord = 3.
Donc pour chaque enfant, je récupère son prénom, son nom et sa date de naissance. Que je stocke dans les String*.
A la première boucle, je stocke bien dans l'indice [0], mais à la seconde, la boucle plante au prenomEnfant[i] =... alors que nomEnfant[i] recoit bien une valeur de type String.
Qu'en pensez vous?
merci d'avance