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 20-07-2009 10:53:00

patricktobou  
Membre Geek
Lieu: Cameroun
Date d'inscription: 31-10-2008
Messages: 57
Pépites: 309
Banque: 0

Problème sur le sql dynamique

Bonjour à tous,
J'ai un soucis avec la requête SQL dynamique suivante :

Code: pb

String ls_sql

ls_sql = "select col1 into :sle_6.text from etman where trim(col5) = 'demo' "

EXECUTE IMMEDIATE :ls_sql using sqlca;


Lorsque je l'exécute il m'affiche le message "LES VARIABLES NE SONT PAS LIÉES"
Par contre, lorsque je l'écrit intégralement sans utiliser le code dynamique ça marche parfaitement

select col1 into :sle_6.text
from etman
where trim(col5) = 'demo'
using sqlca;

Pourquoi le message d'erreur : "LES VARIABLES NE SONT PAS LIÉES" apparaît toujours lorsque je veux faire du sql dynamique ?
Est ce que quelqu'un a déjà eu à travailler avec cela correctement?

PB 11.1 Build 8123
Oracle10g
Windows XPSP2

Hors ligne

 

#2 20-07-2009 12:11:13

FMolinas  
Membre Geek
Lieu: Lyon
Date d'inscription: 12-06-2007
Messages: 87
Pépites: 97
Banque: 6,435,474,948,567

Re: Problème sur le sql dynamique

Bonjour,

Ta requête est un "EXECUTE IMMEDIATE", autrement dit selon la terminologie PB du SQL dynamique format 1. Or tu demandes l'affectation d'une variable en sortie, il te faut utiliser le format 3.
Recherche "Dynamic SQL Format 3" dans l'aide PB, tu trouveras sans doute ton bonheur. En gros, il te faut utiliser un objet annexe qui va lier ta variable PB et ta colonne résultat.

Hors ligne

 

#3 21-10-2009 14:17:33

ydl  
Membre Geek
Date d'inscription: 23-10-2007
Messages: 62
Pépites: 10,341
Banque: 0

Re: Problème sur le sql dynamique

Et si tu passais par un datastore à qui tu injectes ta requête.
C'est bien mieux que les requêtes dynamiques.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22