Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2004, 02h43   #1
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Par défaut Compter le nombre d'enreg retournés par un DBExtract

Salut,

Je veux comptabiliser le nombre d'enregistrements provenant d'un DBExtract, afin d'économiser un Select Count(?) qui donnerait le même résultat.
Je n'ai pas trouvé dans les sources quelque élément qui indique cette information.
Je me suis bricolé une solution, j'aimerais avoir votre avis dessus, et si il y a plus simple ?

Ma soluce :

Je pose un composant Business Service dans le module concerné.
Je code le gestionnaire d'évènement AfterInstruction (sensé prendre la fin à la fin du DBExtract en question) :

Code :
1
2
3
4
5
6
Procedure TStatistique.TirUMIPAfterInstruction(
  XMLInstruction: IXMLInstruction; e: TAfterInstructionEventArgs);
begin
  if XMLInstruction.Name = 'TIREUR' then
   e.Output.SetValue('NBTIREUR', IntToStr(TXMLInstruction(XMLInstruction).InstructionStats.Fetches));
end;
Je suis obligé de transtyper XMLInstruction en TXMLInstruction car InstructionStats ne fait pas partie du contrat IXMLInstruction. D'autre part j'ai dû rajouter l'unité XMLGram dans les uses afin d'obtenir une visibilité sur TXMLInstruction.

* Request for eDelos Team : Si il n'y a pas plus simple, ce serait bien que le context soit alimenté à la fin de chaque DBExtract par une information indiquant le nb d'enreg récupérés (un peu comme font les SGBD qui indiquent le nombre d'enregs affectés lors de select, update, delete etc.)

Sylvain
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2004, 08h16   #2
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
bon pour avoir la même info y a quand même plus simple
Dans la conteneur du DBExtract (OutputDoc) ils y a des infos:

Code :
<publishersS EOF="1" StartingRow="0" LastRow="8" RowCount="9" MaxRows="10" RecordName="publishers">
EOF indique que l'on est arrivé à la fin du SELECT
StartingRow indique à partir de quel enregistrement on effectue le fetch.
Last Row indique jusqu'à quel enregistrement on a fetché.
RowCount indiquele nombre d'enregistrements fetchés.
MaxRows indique le nombre d'enregistrements maximal fetchés pour ce DBExtract.

Donc dans ton cas Ton Fetches = RowCount.
Cependant il est limité au MaxRows car on ne fetch pas forcément tous les enregs pour un ecran. sauf si on met MaxRows à -1 (mais il y a quand meme une sécurité (voir source du DBExtract).

Le plus fiable et ce qui est recommandé reste quand même de faire un Select count. Sur de l'interbase c'est pas forcément le plus rapide , je l'avoue (car il scanne physiquement les enregs) mais sur d'autres SGBD (SQLServer) ca reste très rapide (tables systèmes).
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2004, 14h15   #3
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Merci, j'ai tout ce qu'il me faut dans ta réponse :-)

Sylvain
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h58.


 
 
 
 
Partenaires

Hébergement Web