Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 11-08-2008 11:39:31

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

[RESOLU] Count(*)

Bonjour à tous,

Dans mon code power script, je voulais récupérer le nombre des lignes d’une requête SQL.

Mais le problème c’est que la syntaxe de la requête est dans une variable : ls_ma_requete.

Est qu’il existe une fonction directe en Pb qui permet de récupérer la requête pour que je puisse faire une curseur ou count(*).

Merci

Dernière modification par mattdamon (11-08-2008 17:48:41)

Hors ligne

 

#2 11-08-2008 12:01:41

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] Count(*)

Salut,

Tu peut essayer SQLCA.SQLNRows.


/!\
SQLNRows    Long    The number of rows affected (the database vendor supplies this number, so the meaning may not be the same in every DBMS).


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#3 11-08-2008 16:36:20

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Count(*)

Nephtis a écrit:

Salut,

Tu peut essayer SQLCA.SQLNRows.


/!\
SQLNRows    Long    The number of rows affected (the database vendor supplies this number, so the meaning may not be the same in every DBMS).

Mais comment je pourrais l'utiliser ?

Hors ligne

 

#4 11-08-2008 17:28:27

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Count(*)

mattdamon a écrit:

Nephtis a écrit:

Salut,

Tu peut essayer SQLCA.SQLNRows.


/!\
SQLNRows    Long    The number of rows affected (the database vendor supplies this number, so the meaning may not be the same in every DBMS).

Mais comment je pourrais l'utiliser ?

Ben, je pense que tu cherchais une methode pour recuperer le nombre de lignes renvoyees par une requete, cf:

mattdamon a écrit:

Dans mon code power script, je voulais récupérer le nombre des lignes d’une requête SQL.

...donc, Nephtis te propose le SQLCA.SQLNRows...


Maintenant, je me demande si j'ai bien compris, parce que d'apres moi, le SQLNRows n'est pertinent que pour un insert/update/delete (je peux me tromper). Or ici, on dirait que tu veux faire un select... Mais alors pourquoi ne pas faire un curseur? Ce qui du coup te donnerait le nombre de lignes... A moins que tu utilise une DW pour faire ton retrieve...
Bref, je suis pas sur de comprendre ce que tu veux. Peux-tu reexpliquer stp?

Peut-etre un pti bout de ton code aussi (l'appel de ta requete p.ex. et/ou ta requete)...

Hors ligne

 

#5 11-08-2008 17:38:54

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,944

Re: [RESOLU] Count(*)

Cortex a écrit:

mattdamon a écrit:

Nephtis a écrit:

Salut,

Tu peut essayer SQLCA.SQLNRows.


/!\
SQLNRows    Long    The number of rows affected (the database vendor supplies this number, so the meaning may not be the same in every DBMS).

Mais comment je pourrais l'utiliser ?

Ben, je pense que tu cherchais une methode pour recuperer le nombre de lignes renvoyees par une requete, cf:

mattdamon a écrit:

Dans mon code power script, je voulais récupérer le nombre des lignes d’une requête SQL.

...donc, Nephtis te propose le SQLCA.SQLNRows...


Maintenant, je me demande si j'ai bien compris, parce que d'apres moi, le SQLNRows n'est pertinent que pour un insert/update/delete (je peux me tromper). Or ici, on dirait que tu veux faire un select... Mais alors pourquoi ne pas faire un curseur? Ce qui du coup te donnerait le nombre de lignes... A moins que tu utilise une DW pour faire ton retrieve...
Bref, je suis pas sur de comprendre ce que tu veux. Peux-tu reexpliquer stp?

Peut-etre un pti bout de ton code aussi (l'appel de ta requete p.ex. et/ou ta requete)...

Merci Cortex pour ta bonne réponse , mais ca ce que j'ai pensé avant et mon problème a été résolu.
pour la résolution j'ai utilisé un curseur et voisi le code :

Code: pb

DECLARE cursor_nbrerow DYNAMIC CURSOR for SQLSA ;
  
    PREPARE SQLSA FROM :ls_ma_requete ;
    OPEN DYNAMIC cursor_nbrerow;
    FETCH cursor_nbrerow INTO :li_nbre_row;
      
    CLOSE cursor_nbrerow ;  


@+

Hors ligne

 

#6 11-08-2008 17:45:45

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: [RESOLU] Count(*)

Code: pb

DECLARE cursor_nbrerow DYNAMIC CURSOR for SQLSA ;
  
    PREPARE SQLSA FROM :ls_ma_requete ;
    OPEN DYNAMIC cursor_nbrerow;
    FETCH cursor_nbrerow INTO :li_nbre_row;
      
    CLOSE cursor_nbrerow ;  

Hum... Autant pour moi...

Et n'oublies pas le [RESOLU] alors.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22