DataSet

Résolu
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006 - 24 oct. 2005 à 16:33
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006 - 25 oct. 2005 à 12:14
bonjour,

Voila je vous explique: J'ai une procedure qui doit me permettre de récupérer des données à partir d'une base de données.
DAns cette procédure j'ai une requete qui va chercher des données dans VUE ( vue dans MySql)
Ensuite Pour chaque ligne que j'ai obtenu,
Je lance une autre requete qui va me chercher Un seul enregistrement

Voici ma procedure
procedure TFrmDonInfos.ChargerDbGrid(Planun:string;plandeux:string);
var nblig,i:integer;
Zone : string;
begin


Vue.Active:=false;
Vue.CommandText:='SELECT * FROM vue;
Vue.Active:=true;


nblig:=vue.RecordCount;


for i:=1 to nblig do
begin
Zone:=Vue.FieldByName('Nom_Zone').AsString ;


ADODataSet.Active:=false;
//j'execute ma seconde requete qui est doit remplir mon DBGrid
ADODataSet.CommandText:='SELECT DISTINCT v.libelle, (SELECT montant FROM vue WHERE date=2001 AND Nom_zone='''+Zone+''' AND NoPlan In(''ALL'','''+Planun+''','''+Plandeux+''')),';
ADODataSet.CommandText:=ADODataSet.CommandText+' (SELECT montant FROM vue WHERE date=2002 AND Nom_zone='''+Zone+''' AND NoPlan In(''ALL'','''+Planun+''','''+Plandeux+''')), ';
ADODataSet.CommandText:=ADODataSet.CommandText+' (SELECT montant FROM vue WHERE date=2003 AND Nom_zone='''+Zone+''' AND NoPlan In(''ALL'','''+Planun+''','''+Plandeux+''')), ';
ADODataSet.CommandText:=ADODataSet.CommandText+' (SELECT montant FROM vue WHERE date=2004 AND Nom_zone='''+zone+'''AND NoPlan In(''ALL'','''+Planun+''','''+Plandeux+''')) FROM vue v';
ADODataSet.CommandText:=ADODataSet.CommandText+' WHERE v.Nom_Zone='''+zone+''';';
//fin de ma requete
ADODataSet.Active:=true;


vue.Next;
end;


end;

Vue que ma requete qui est lié au DBGrid ne me renvoie qu'un seul enregistrement , A la fin de cette procedure, le DBGrid contient uniqument le dernier enregistrement ( et s'est tout).
Moi je voudrais qu'une fois ma seconde requete effectuer, que le DBGrid garde les données, que je passe à la ligne suivant et ainsi de suite!

Pouvez vous m'aider car je ne m'en sort plus tout seul !
Merci

Mo

2 réponses

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
25 oct. 2005 à 12:14
Bonjour,



Essaie de réécrire tes deux requêtes en une seule en faisant un group by sur zone;



Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
3
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006
25 oct. 2005 à 09:18
y a personne qui aurait une solution pour moi?
0
Rejoignez-nous