Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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 15-11-2006 09:16: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

[RESOLU] Requete dynamique

Bonjour,
Est-il possible d'effectuer de requetes dynamiques en pb? a savoir par exemple :

Code: pb

update ls_nom_table set ls_nom_champ='O' 
    where ls_nom_champ='N';

merci d'avance

Hors ligne

 

#2 15-11-2006 09:24:30

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

Re: [RESOLU] Requete dynamique

regardes dans l'aide en ligne de powerbuilder
au paragraphe
"Dynamic SQL Format"

il y a peut etre une solution ?


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

Hors ligne

 

#3 15-11-2006 09:28:33

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

Re: [RESOLU] Requete dynamique

sinon...

exemple de code :

Code: pb

string ls_isql

ls_isql="CREATE TABLE dba.cusfin " + & 
 ("cuscode char(6) NOT NULL DEFAULT NULL, " + &
  "currbal numeric(12,2) DEFAULT NULL, " + & 
  "days_0 numeric(12,2) DEFAULT NULL, " + &
  "days_30 numeric(12,2) DEFAULT NULL, " + &
  "days_60 numeric(12,2) DEFAULT NULL, " + &
  "days_90 numeric(12,2) DEFAULT NULL, " + &
  "days_120 numeric(12,2) DEFAULT NULL, " + &
  "credit_limit numeric(12,2) DEFAULT NULL, " + &
  "credit_stop char(1) DEFAULT NULL , " + &
  "status char(1) NOT NULL, " + &
 "PRIMARY KEY (cuscode)) ; "

Execute immediate :ls_isql using sqlca;

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

Hors ligne

 

#4 15-11-2006 09:29:27

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: [RESOLU] Requete dynamique

je vais tester cela merci pick ( pb god ) ;)

Hors ligne

 

#5 15-11-2006 11:19:53

mreminiac  
Membre Geek
Lieu: Marseille
Date d'inscription: 29-05-2006
Messages: 56
Pépites: 321
Banque: 0

Re: [RESOLU] Requete dynamique

Bonjour à Tous

Oui c'est possible
Voici un bout de code  que j'ai sur un Event Close

Cordialement

Code: pb

  t1 = dw_1.getitemdecimal(1, "n1")
  t2 = dw_1.getitemdecimal(1, "n4")

  UPDATE CDE SET CDE_MODIF = 0,
                            OPEMOD      = NULL,
          DATMOD      = NULL
                WHERE CDE_COD   = :t1 
                    AND CDE_RELIQ = :t2  
              AND CDE_MODIF = 1 
                  USING SQLCA;
  
   if sqlca.sqlcode <> 0 then
     messageBox ("PB à la mise à Jour du Top de Modification (Event Close) ", & 
                 string(sqlca.sqldbcode) + " " + sqlca.sqlerrtext,StopSign!)
     return -1
   end if
  
   COMMIT USING SQLCA;  
   if sqlca.sqlcode <> 0 then
     messageBox ("PB à la mise à Jour du Top de Modification COMMIT(Event Close) ", & 
                string(sqlca.sqldbcode) + " " + sqlca.sqlerrtext,StopSign!)
     return -1
   end if


etc .......


Migration PB11
Oracle 9I
XP Pro

Hors ligne

 

#6 15-11-2006 11:21:42

mreminiac  
Membre Geek
Lieu: Marseille
Date d'inscription: 29-05-2006
Messages: 56
Pépites: 321
Banque: 0

Re: [RESOLU] Requete dynamique

J'ai Oublié de dire

PB 10.5
Oracle 9I

Xp


Migration PB11
Oracle 9I
XP Pro

Hors ligne

 

#7 15-11-2006 12:53:30

mreminiac  
Membre Geek
Lieu: Marseille
Date d'inscription: 29-05-2006
Messages: 56
Pépites: 321
Banque: 0

Re: [RESOLU] Requete dynamique

Rebonjour

2eme bout de code
Si ca peut d'aider
Cordialement

Code: pb

string s_req, req_sql

s_req  = "UPDATE ART ~r~n"
s_req  += "SET ART_SUP = 1 ~r~n"
s_req  += "WHERE ART_COD = " + string(dw_listlab.getitemdecimal(dw_listlab.getrow(), "art_art_cod"))

EXECUTE IMMEDIATE  :s_req USING SQLCA;

req_sql =  "INSERT INTO ART_TO_MAG (art_cod, lab_cod, art_sup, maj_cod) ~r~n"
req_sql += "VALUES (" + string(dw_listlab.getitemdecimal(dw_listlab.getrow(), "art_art_cod")) + ", "+ string(dw_listlab.getitemdecimal(dw_listlab.getrow(), "lab_cod")) +", 1, 'S')"
EXECUTE IMMEDIATE  :req_sql USING SQLCA;





PB 10.5 Oracle9i Xp


Migration PB11
Oracle 9I
XP Pro

Hors ligne

 

#8 15-11-2006 13:22:01

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

Re: [RESOLU] Requete dynamique

merci encore pour tes interventions mreminiac 


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

Hors ligne

 

#9 15-11-2006 16:00:31

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: [RESOLU] Requete dynamique

merci bien
j'ai fait quelque chose du type :

Code: pb

ls_requete ="UPDATE " +ls_nom_table_histo+ &
             " SET " +ls_nom_champ_exp+"='E' " + &
            " WHERE " +ls_nom_champ_exp+"='O'"
    Execute immediate :ls_requete using sqlca;

et ca a l'air de bien fonctionner
merci

Hors ligne

 

#10 15-11-2006 16:53:29

mreminiac  
Membre Geek
Lieu: Marseille
Date d'inscription: 29-05-2006
Messages: 56
Pépites: 321
Banque: 0

Re: [RESOLU] Requete dynamique

N oublie pas de tester le code retour de SQLCA
Bonne soirée


Migration PB11
Oracle 9I
XP Pro

Hors ligne

 

#11 16-11-2006 08:25:34

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: [RESOLU] Requete dynamique

oui oui c'était fait merci :D

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22