Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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 14-06-2007 09:48:54

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

select

Et oui , c'est encore moi ! lol , j'en ai pas finit avec ce forum

dans une fenetre, j'ai 1 liste déroulante qui m'indique des caracteristiques.. et entre autre , une datawindow dans laquelle je voudrais afficher les données selon ce qui se trouve dans la liste.
j'ai donc fait ceci :

Code: pb

// déclarations
String ls_ddlb, ls_nom

// récup texte listbox
ls_ddlb = ddlb_1.Text

// script valable si la requête ne renvoit qu'une ligne :
select nom 
into :ls_nom
from competence 
where caracteristique = :ls_ddlb ;

et ça,je l'ais mis dans la datawindows, j'aimerais faire la meme requete mais qui renvoit plusieurs ligne .. et meme avec une ligne , elle ne marche pas..faut-il écrire ca dans la datawindow?

Hors ligne

 

#2 14-06-2007 09:51:12

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: select

tu as mis quoi exactement dans la DW?

Hors ligne

 

#3 14-06-2007 10:10:59

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

Bonjour, le mieux serait plutôt de faire une datawindow qui récupère la totalité des enregistrements de ta table:

Code: mssql

SELECT nom,
caracteristique
FROM competence;

Puis de filtrer en fonction de ce que tu as de sélectionné dans ta liste déroulante par les fonctions SetFilter et Filter:

Code: pb

//Déclarations
String ls_ddlb

//Récupération texte listbox
ls_ddlb = ddlb_1.Text

//RAZ filtre précédent:

dw_1.SetFilter("")
dw_1.Filter()

//Filtre courant:
dw_1.SetFilter("caracteristique=" + ls_ddlb )
dw_1.Filter()

Ca limitera les accès au serveur et donc le trafic réseau...


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#4 14-06-2007 12:28:47

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

je viens d'essayer et il me met une erreur de synthaxe pour le select ^^ :s

Hors ligne

 

#5 14-06-2007 12:31:22

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

Manque le ;


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#6 14-06-2007 12:32:51

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

heu nan ca me dit pareil oO

Hors ligne

 

#7 14-06-2007 12:35:43

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

C'est quoi le descriptif de ta table "competence"?
Tu mets bien ce script dans le datasource de ta datawindow?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#8 14-06-2007 12:37:37

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

ben , quand je double clic sur la datawindow, je met le script dedans ..faut pas le mettre la ?

Hors ligne

 

#9 14-06-2007 12:41:25

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

Non, il faut le mettre dans le datasoure de ton dataobject: Tu fais
clique droit => Modify datawindow sur ta fenêtre, et tu cliques sur l'icône "datasource"
=> Tu mets le script dans l'éditeur qui s'ouvre et tu sauvegardes (Par contre, il faut enlever
le ";").
Bien entendu, il faut que tu sois connecté à ta base de donnée pour qu'il retrouve la table.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#10 14-06-2007 12:44:05

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: select

moi, je dis qu'il faut que tu relises comme il le faut les cours du forum...
c'est la meme technique, que soit sur pb5 ou pb10...
ce que tu veux faire, c'est dans les cours.... à ce qu'il me semble...
tout est la.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#11 14-06-2007 12:50:11

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: select

certains membres de ce forum ont debuté en septembre, et sont passés par la aussi...
ils se sont basés sur les cours et exercices donnés.
il y a des etapes qu'on ne peut pas sauter, surtout en pb.
apres, tu risques de te perdre...
heureusement qu'il y a des membres et des modos compréhensifs...


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#12 14-06-2007 13:01:35

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

voila j'ai fait ce que tu m'as dit , mais quand le lance la fenetre en run/preview, il y a rien dans la datawindows or quand je double clic sur la dataobjet qui contient la requete, il m'affiche les résultats.. Dans la fenetre ou se trouve la datawindow, faut-il mettre une ou plusieur logne pour se connecter a la base?

Hors ligne

 

#13 14-06-2007 13:09:07

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

Il te faut définir un objet transactionnel (Par défaut SQLCA), puis tu mets le script suivant:

Code: pb

//Assignation de l'objet transactionnel

dw_1.SetTransObject(SQLCA)

//Récupération des données

dw_1.Retrieve()


Mais je te conseille de te plonger dans la doc PB: C'est vraiment le B-A BA


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#14 14-06-2007 13:11:53

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: select

B-A BA BA BIBEL hum dsl

Hors ligne

 

#15 14-06-2007 13:21:14

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

oui j'ai déja regardé les cours present sur le forum..mais je retrouve pas les points ou je bloque.
j'ai vu le cour DATABASE.mht et Sqlplora :s
je vais aller me plonger dans la GROSSE doc de pb :s lol merci quand meme (ps: ca marche tjrs pas foon) lol mais je vais régler ca :x

Hors ligne

 

#16 14-06-2007 13:23:08

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: select

tu as bien lu ca ? ici!

Hors ligne

 

#17 14-06-2007 13:24:12

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: select

celui la est tres complet...
http://pbadonf.fr/forum/viewtopic.php?id=11

il suffit que tu l'adaptes par rapport à ta base de données...
il y a une etape à suivre, avec construction du projet... de A à Z
et c'est un cours qu'on donnait en formation.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#18 14-06-2007 13:31:32

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

Ok.
AMHA, ça doit pas être grand'chose (genre le script n'est pas mis dans le bon événement), mais je te laisse regarder: Je peux difficilement t'aider plus sans que tu es regardé cette fameuse doc. Il y a beaucoup d'exemples de codes qui pourront t'aider.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#19 14-06-2007 13:39:28

HeB  
Membre Geek
Date d'inscription: 04-06-2007
Messages: 35
Pépites: 113
Banque: 0

Re: select

merci pour le cour pick , thezerg, ton lien est périmé oO

Hors ligne

 

#20 14-06-2007 13:41:29

cdtit  
Membre completement Geek
Lieu: Saint chéron
Date d'inscription: 19-12-2006
Messages: 124
Pépites: 678
Banque: 0

Re: select

Bonjour,

tu as aussi la technique du curseur dynamique,
cela te remonte les données d'une requète ligne par ligne;
et te permet de les traiter les unes après les autres :

Code: pb

string cs_nature,cs_nun_camp,cs_lib_camp,requete
int ci_nb_camp,ci_i

SELECT COUNT(DISTINCT "TRANSMISSION"."NUMERO_OFF_CAMP")
 INTO :ci_nb_camp 
FROM "TRANSMISSION", "CAMPAGNES"
WHERE "TRANSMISSION"."ORIGINE" = 5;
  

requete = 'SELECT DISTINCT "TRANSMISSION"."NUMERO_OFF_CAMP", "CAMPAGNES"."LIBELLECAMPAGNE"' &
      + ' FROM "TRANSMISSION","CAMPAGNES"' &
      + ' WHERE "TRANSMISSION"."ORIGINE" = 5'

      
declare temp_cur dynamic cursor for sqlsa;

prepare sqlsa from :requete;

OPEN dynamic temp_cur;

if sqlca.sqlcode <> 0 then
  messagebox("Erreur d'accés DB", "Une erreur est survenue lors de~rl'accès à la table" + &
    " CAMPAGNES~r" + sqlca.SQLErrText)
  return
else
  if ci_nb_camp > 0 then
    for ci_i = 1 to ci_nb_camp
      FETCH temp_cur INTO :cs_nun_camp, :cs_lib_camp;
      ddlb_num_camp.AddItem(cs_nun_camp)
      ddlb_lib_camp.AddItem(cs_lib_camp)
    next
  end if
end if
close temp_cur;


Les cons ça ose tout. C'est même à ça qu'on les reconnaît.

Hors ligne

 

#21 14-06-2007 13:57:32

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: select

thezerg a écrit:

B-A BA BA BIBEL hum dsl

Hum hum je ne connais pas cette personne....je ne travaille pas avec elle..Il n'y a que lui qui rit...KIRI KIRI KIRI!


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#22 14-06-2007 14:25:23

cdtit  
Membre completement Geek
Lieu: Saint chéron
Date d'inscription: 19-12-2006
Messages: 124
Pépites: 678
Banque: 0

Re: select



Désolé, moi pas savoir !


Les cons ça ose tout. C'est même à ça qu'on les reconnaît.

Hors ligne

 

#23 14-06-2007 14:38:15

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: select

cdtit a écrit:



Désolé, moi pas savoir !

Y'a pas de mal.
Le topic correspondant est ici


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22