bonjour, bon ben voila on m'a imposé pro*C.
j'ai un problème que je ne comprends pas.
Si je fais
Puis dans le main après avoir rempli mon tableau de float avec une requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 EXEC SQL BEGIN DECLARE SECTION; float valeur[66]; EXEC SQL END DECLARE SECTION;
J'ai bien les résultats de ma table, super...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for(i=0; i<nbr_66; i++) { printf("valeur :%f \n", valeur[i]); }
le problème c'est que je dois connaitre la taille de mon tableau à l'avance.
J'ai donc essayé de faire un truc mais ca ne marche pas du tout.
Et là ca m'affiche n'importe quoi.... je ne comprends pas d'où cela vient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 int main() { int i=0; size_t nbr_donnees=0; //nombres de lignes récupérées lors de la requete //connexion à la bdd que je ne mets pas pour alléger EXEC SQL OPEN compte; EXEC SQL FETCH compte INTO :nbr_donnees; EXEC SQL CLOSE compte; //nbr_donnes prend la valeur 66 cela marche donc bien ! //allocation dynamique du tableau de float float *derniere_valeur = malloc (sizeof (float) * nbr_donnees); EXEC SQL OPEN tout_station; EXEC SQL FETCH tout_station INTO :derniere_valeur; EXEC SQL CLOSE tout_station; for(i=0; i<nbr_donnees; i++) { printf("valeur :%f \n", valeur[i]); }
Quelqu'un peut -il m'aider ?
Partager