Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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