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

InterBase Discussion :

pb extraction champ


Sujet :

InterBase

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut pb extraction champ
    bonjour,

    travaillant sous Rad Studio 2007 et ayant comme bdd Interbase 6.0, je souhaiterais savoir comme extraire uniqument le texte d'un champ ?

    Je m'explique :

    comme chacun le sais, lorsque l'on créé un champ, on lui défini une taille, donc jusque la , rien d'anormal.
    Sauf que lorsque je veux récupérer le texte écrit dans ce champ, je récupère bien le texte .... mais aussi autant d'espace que la taille de ce champ ne le permet !!!

    donc en gros si mon chammp fait 40 caractère et que j'y écris 10 caractères, il y aura 30 espace a la suite !!! et ces espace, je les récupère lors de la récupération !!

    j'ai tenté avec la fonction trim() mais sans succès ... Mais après minte reprise
    j'ai bien réussi a faire d'une facon que je pense assez "bourrin" avec une ligne de commande du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chaine = Data.SubString(0,Data.Pos(" ")-1)
    ce code marche mais n'y aurait-il pas un autre moyen de récupérer seulement les caractère autre que " "?


    de plus, je trouve cela bizarre car comme je dois insérer ses données dans une autre table, cela signifie qu'il me faudra tout le temps effectué cette commande si je ne veux pas avoir des erreurs!!!

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Le champ en question est-il un VARCHAR ou CHAR ?

    Si c'est un CHAR ce comportement est normal. Donc le plus simple est de redéfinir ton champ en VARCHAR(40) pour éviter qu'il ne soit complété systématiquement pas des espaces.

    @+ Claudius

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    effectivement , c'est un CHAR !!! mais ca veut dre qu'avec un char on récupère tout les caractère alors qu'avec un VARCHAR on récupère jusqu'a un caractère de fin de chaine ? ( en l'occurance un espace ou un "/0")

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    C'est exactement ça.

    [Edit] Interbase 6.0, tu n'as rien de plus récent ? Ce n'est certainement pas ce qu'on fait de mieux comme version.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    non, je n'ai rien de plus récent. et j'ai pas cherché non plus si la version 6.5 était libre ou pas. et la version 7 est a acheté je crois.

    la version que j'ai est celle fourni avec Rad Studio 2007.

    sinon je n'arrive pas a modifier les char en varchar sachant que j'ai utilisé un logiciel "amateur" fait par un internaute sous delphi

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par dragonfly80 Voir le message
    non, je n'ai rien de plus récent. et j'ai pas cherché non plus si la version 6.5 était libre ou pas. et la version 7 est a acheté je crois.

    la version que j'ai est celle fourni avec Rad Studio 2007.
    Tu peux peut-être regarder du côté de Firebird. La version 2.1.1 est sortie hier.

    Citation Envoyé par dragonfly80 Voir le message
    sinon je n'arrive pas a modifier les char en varchar sachant que j'ai utilisé un logiciel "amateur" fait par un internaute sous delphi
    Tu dois pouvoir exécuter des DDL et notamment ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter table TA_TABLE
    alter TON_CHAMP TYPE VARCHAR(40);
    @+ Claudius

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Cl@udius Voir le message

    Tu dois pouvoir exécuter des DDL et notamment ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter table TA_TABLE
    alter TON_CHAMP TYPE VARCHAR(40);
    @+ Claudius
    mouarf ... c'est que des dll ... j'en ai jamais fait ..

  8. #8
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Pas DLL mais DDL (Data Definition Langage).

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    ah oui autant pour moi mais bon ... c'est pareil ... j'en ai pas fait non plus ^^

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    en scrutant le fichier .GDB, j'ai vu qu'il y avait des domaine créé lors de la conception de la Bdd et j'ai remarqué une tab RD8$FIELDS dans laquelle se trouve tous les champ de mes différentes table noté de RD8$0 à RD8$*** et sur chacun de ses champ, est renseigné notemment son type dans la colonne RD8$FIELD_TYPE identifié a 14 pour un champ de type CHAR.

    j'ai donc utilisé le logiciel IBExpert pour modifier un de ses champ a VARCHAR et j'ai remarqué que la colonne FIELD_TYPE est passé a 37.
    seulement, dans la console interbase, il m'est impossible de modifier cette valeur tandis que je peux le faire manuellement avec IBExpert mais comme j'ai environs 250 vahmp a modifier et que chaque action me prend 10 à 15 seconde, je risque d'y passé un bon bout de temp ( entre 30 minute et 1h peut être).

    serait-il possible que je fasse un petit script pour modifier ses valeur ? et comment s'y prendre vu que c'est un DOMAIN et non une table ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    oki c'est bon, même si ca récupère la chaine et tous les espaces dérrière, en faisant Chaine.trim() je récupère bien uniquement les caractères sans espaces contrairement a lorsque j'avais une variable de type CHAR.

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

Discussions similaires

  1. ldap extraction champs multivalué
    Par falco- dans le forum Général Python
    Réponses: 3
    Dernier message: 26/07/2010, 12h14
  2. [MySQL] Extraction champs puis mise à jour simultanée
    Par Antherak dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2008, 16h03
  3. Extraction champ "multi-encodage"
    Par Arnaud F. dans le forum Sybase
    Réponses: 7
    Dernier message: 10/09/2008, 16h03
  4. extraction champs +1 apres chaine de caractere
    Par francis_tom dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 21/04/2008, 12h52
  5. Extraction champs precis
    Par HacHHacH dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 31/03/2006, 04h41

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