Powerbuilder pour les completement Geeks !

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 26-03-2010 15:25:00

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

SELECTBLOB with variables

salut,
quelqu'un peut me dit comment utiliser -s'il est possible- SELECTBLOB avec des variables
exple :
FUNCTION (string as_table , as_column  , as_id , ANY as_arg) as string

Code: pb

blob li_img
SELECTBLOB as_column
INTO :li_img
FROM as_table
WHERE as_id = :as_arg
USING SQLCA;
RETURN li_img

END FUNCTION


mecri d'avance

Dernière modification par azuldev (26-03-2010 16:26:20)

Hors ligne

 

#2 26-03-2010 16:02:22

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

Re: SELECTBLOB with variables

Bonjour azuldev.
Pour rappel:


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

Hors ligne

 

#3 26-03-2010 16:54:24

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: SELECTBLOB with variables

Bonjour,

A ma connaissance, ce n'est pas possible en "'embedded SQL" avec la syntaxe SELECTBLOB. Les tables et les colonnes référencées doivent être statique.

Hors ligne

 

#4 29-03-2010 12:12:49

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: SELECTBLOB with variables

Merci
et pour mettre le champ blob en NULL ?
ma syntax suivante ne marche pas

Code: pb

BLOB li_blob_null
SETNULL(li_blob_null)

UPDATEBLOB TABLE1 SET img=:li_blob_null WHERE id =:li_id USING SQLCA;

Dernière modification par azuldev (29-03-2010 12:15:13)

Hors ligne

 

#5 29-03-2010 13:11:46

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: SELECTBLOB with variables

Bonjour, en utilisant une table temporaire

Code: pb

// création table temporaire
Execute Immediate 'CREATE TABLE TABLE_TEMP( ID_TEMP NUMBER, BLOB_TEMP BLOB )' ;

// SQL dynamique (ajouter des quotes si la colonne est de type chaine)
ls_sql = 'INSERT INTO TABLE_TEMP '
       + 'SELECT 1,' + as_column + ' FROM ' + as_table + ' WHERE ' + as_id + '=' + as_arg
Execute Immediate :ls_sql ;

// récup valeur blob
SELECTBLOB BLOB_TEMP
INTO :li_img
FROM TABLE_TEMP
WHERE ID_TEMP = 1 ;

// suppression table temporaire
Execute Immediate 'DROP TABLE TABLE_TEMP' ;


et pour mettre le champ blob en NULL ?

Code: pb

// directement en BDD
ls_sql = 'UPDATE TABLE1 SET IMG = NULL WHERE ID = ' + String( li_id )
Execute Immediate :ls_sql ;

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#6 29-03-2010 14:33:53

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: SELECTBLOB with variables

JE TE REMERCIE INFINIMENT erasorz
mais

Code: pb

ls_sql = 'UPDATE TABLE1 SET IMG = NULL WHERE ID = ' + String( li_id )
Execute Immediate :ls_sql ;

ne marche pas.
nb:je suis sur ASA

Dernière modification par azuldev (29-03-2010 14:51:01)

Hors ligne

 

#7 29-03-2010 14:34:42

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: SELECTBLOB with variables

ça fonctionne ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#8 30-03-2010 06:38:13

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: SELECTBLOB with variables

Bonjour,

Je suis sous ASA 8.0.3 et j'utilise cette syntaxe sans problème. Par contre, si tu n'utilises pas l'objet transaction par défaut, il faut éventuellement compléter ta syntaxe :

Code: pb

EXECUTE IMMEDIATE :ls_sql USING MyTr;

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22