IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

cast en varchar


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut cast en varchar
    Bonjour,

    j'ai une application cliente serveur avec l'interface développée en C++ via C++ Builder et comme SGBDR PostGreSQL of course.
    Sur mon interface, j'ai des composants DBGrid qui me permettent d'afficher des tables ou des requetes. Le problème c'est que ce composant n'affiche pas les champs de type memo (text). Donc je les caste en varchar dans ma requete et normalement mes champs s'affichent mais pas dans ma dernière requete. je vous donne cette dernière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT CAST(RPAD('0685',11,' ') AS VARCHAR(15)) as enreg,
     CAST(RPAD('411202',11,' ') AS VARCHAR(15)) as emetteur, 
    CAST(RPAD(to_char(current_date,'DDMMYY') || s_name || ' ' || s_firstname,29,' ') AS VARCHAR(30)) as identification ...
    mon champ identification s'affiche correctement alors que les champs enreg et emetteur ne s'affichent pas dans mon DBGrid ???

    Si je lance cette requete via pgAdmin, tout s'affiche et la légende me spécifie que ce sont bien des varchar.

    Sur ce problème, je n'ai aucune idée donc si quelqu'un a déjà rencontré le problème, je suis toute ouie

    merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    j'ai trouvé la solution à mon problème même si je trouve ça bizarre. Je vous la donne au cas où quelqu'un aurait le même souci que moi. Mais si quelqu'un peut m'expliquer la logique ça m'intéresse. Donc voici la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT CAST(enreg AS VARCHAR(15)) AS enreg, 
    CAST(emetteur AS VARCHAR(15) AS emetteur, 
    CAST(identification AS VARCHAR(30)) AS identification 
    FROM(SELECT RPAD('0685',11,' ') as enreg,
      RPAD('411202',11,' ') as emetteur, 
    RPAD(to_char(current_date,'DDMMYY') || s_name || ' ' || s_firstname,29,' ') as identification ...) AS req_prlvt
    voili, voilou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CAST de float en Varchar
    Par olibara dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/05/2011, 12h39
  2. CAst as varchar
    Par soazig dans le forum SQL
    Réponses: 3
    Dernier message: 25/01/2007, 08h38
  3. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46
  4. VARCHAR contenant une quote '
    Par tonyskn dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/05/2003, 19h21
  5. traduction en delphi "reinterpreted cast"
    Par Chupakabra dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2003, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo