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

Langage Delphi Discussion :

Champ string limité à 24 octets


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut Champ string limité à 24 octets
    Bonjour à tous.tes.

    A votre connaissance, y a t-il une raison pour que un TQuery limite son résultat à 24 octets alors que le champ dans la table en contient 70 ?

    ZStr : String;
    ZStr := Query.Fields[0].AsString;
    ZStr = les 24 premiers octets du champ en base.

    Je n'en puis plus
    Pas changer assiettes pour fromage.

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    as-tu déclaré les champs dans le concepteur de fiches ?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    Non, c'est du 100% dynamique. La requête est une requête "système" : SELECT SERVERPROPERTY('InstanceDefaultDataPath')
    qui ramène : C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\

    Du coup mon résultat est : C:\Program Files\Microso
    Pas changer assiettes pour fromage.

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    TQuery ? Donc avec le BDE ?

  5. #5
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    si c'est entièrement dynamique il n'y a pas de raison que la valeur du champ soit tronquée

    tu utilises quelle version de Delphi ? la base est en ANSI ou UNICODE / UTF-8 ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    TQuery ? Donc avec le BDE ?
    C'est un TFDQuery de Firedac
    Sur une base SQL Server MSSQL12.SQLEXPRESS
    Pas changer assiettes pour fromage.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par pprem Voir le message
    si c'est entièrement dynamique il n'y a pas de raison que la valeur du champ soit tronquée

    tu utilises quelle version de Delphi ?
    Berlin
    Citation Envoyé par pprem Voir le message
    la base est en ANSI ou UNICODE / UTF-8 ?
    Ben... Aucune idée
    Pas changer assiettes pour fromage.

  8. #8
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    bon, alors là je sèche, ça te le fais sur tous les enregistrements de la table ou juste certains ?

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par pprem Voir le message
    bon, alors là je sèche, ça te le fais sur tous les enregistrements de la table ou juste certains ?
    Je n'ai pas le problème sur les champs des tables de ma base.
    Il me ramène les champs sans les tronquer.

    Je vais essayer de trouver une autre requête système ramenant un champ long...
    Pas changer assiettes pour fromage.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    J'attendais que l'on ait enfin des informations quant au mode de connexion et version de Delphi
    Quel est le type de la pseudo-colonne InstanceDefaultDataPath ?
    FireDac l'interprète peut-être mal .
    Il serait intéressant de faire un petit test avec une requête non dynamique afin de voir comment cette colonne est interprétée
    parce que Microsoft est avare sur le sujet !
    InstanceDefaultDataPath S’applique à : SQL Server 2012 (11.x) jusqu’à la version actuelle dans les mises à jour depuis fin 2015.
    Nom du chemin par défaut jusqu’aux fichiers de données d’instance.
    sans indiquer (comme pour d'autres colonnes de SERVERPROPERTY) le type ! si cela se trouve il s'agit d'un memo text

    Peut-être qu'un SELECT CAST(SERVERPROPERTY('InstanceDefaultDataPath') AS VARCHAR(180)) instance
    ( - à vérifier, je n'ai pas SQLServer sous la main,
    - 180 devrait être remplacé par la taille maxi de chemin windows)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    J'me disais Il est en vacance SergioMaster ou quoi .

    Ca marche.

    Merci beaucoup.
    Pas changer assiettes pour fromage.

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Janvier 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 182
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Il serait intéressant de faire un petit test avec une requête non dynamique afin de voir comment cette colonne est interprétée
    parce que Microsoft est avare sur le sujet !
    sans indiquer (comme pour d'autres colonnes de SERVERPROPERTY) le type ! si cela se trouve il s'agit d'un memo text
    Donc, je viens de faire le test :
    FDConnection + FDTransaction + FDQuery
    TDatasource + DBGrid

    Le résultat est correct sans le cast.
    Pas changer assiettes pour fromage.

  13. #13
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 385
    Points : 2 999
    Points
    2 999
    Par défaut
    Citation Envoyé par cestpasmoinonplus Voir le message
    Donc, je viens de faire le test :
    FDConnection + FDTransaction + FDQuery
    TDatasource + DBGrid

    Le résultat est correct sans le cast.
    Je n'ai eu aucun problème non plus avec Firedac et TFDQuery.

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par cestpasmoinonplus Voir le message
    J'me disais Il est en vacance SergioMaster ou quoi .
    c'est simplement que je ne retrouvai plus ma boule de cristal
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. [VBA E] String limité à 200 caractères
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2006, 11h01
  2. Valeur d'un champ string
    Par Miss Ti dans le forum Access
    Réponses: 8
    Dernier message: 26/07/2006, 16h39
  3. [XSD] : Garder les espaces dans un champ string
    Par cvacavant dans le forum Valider
    Réponses: 8
    Dernier message: 10/02/2006, 09h28
  4. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 15h29
  5. date de...a dans un champ string
    Par Yepazix dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/09/2004, 23h54

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