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

Bases de données Delphi Discussion :

limite d'affichage à 255 caractères.


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut limite d'affichage à 255 caractères.
    Bonjour,

    Je suis chargé de reprendre un programme réalisé sous Delphi 6 + BD paradox.
    Je dois migrer tout sous PGsql.
    Tout se passe bien, en passant sous ADO.
    Tout sauf l'affichage !
    Quand je visualise mes tables sous un DBGrid, je ne vois s'afficher QUE 255 caractères ( retours chariots compris )
    J'ai pas mal fouillé sur le forum et google mais je ne trouve pas la réponse à mon problème.
    En fait, c'est uniquement un pb d'affichage.

    Du temps ou le prog utilisait Paradox, passé 254 caractères, "Mémo" s'affichait dans la cellule du DBgrid.
    Maintenant, la chaine de caractère est tronqué à 254.

    J’espère avoir été assez clair.

    Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Bonjour,

    quelle est la taille du champ dans la base ?

    quelle est la taille du champ déclaré dans le TStringField dans Delphi ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Merci Paul,

    Le type du champs de ma base PGSQL est Character Varying.
    Initialement, dans Paradox, c'était du Mémo.

    J'ai essayé d'imposer une taille avec TStringField mais elle n'est pas prise en compte

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    AMHA c'est ADO qui ne charge pas le bon type. On parle toujours d'une version D6 ?
    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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Oui, c'est sous Delphi 6 !
    Comment peut on résoudre ce pépin
    Merci beaucoup de ton aide SergioMaster !

    Sujet similaire : https://www.developpez.net/forums/d8...55-caracteres/

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Re,

    Désolé mais non je ne vois pas vraiment !
    Déjà je n'ai pas D6, même si je l'ai installé je ne l'ai jamais vraiment utilisé j'en reste à D3, D7, D2010, XE4 et les dernières versions Tokyo et Rio (10.2, 10.3)
    C'est surtout ADO qui me fait tiquer, je n'ai jamais adhéré à ce pack de composants qui nécessite des drivers spécifiques. Une suggestion cependant tenter d'obtenir une version à jour https://www.devart.com/dbx/postgresql/

    Bien sûr je voterai plutôt pour changer de set de composants genre une vieille version de ZEOSLIB (6.5 ?) ou, mieux, utiliser une version plus récente de Delphi
    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

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut rajout code
    RE:

    Malheureusement, je n'ai guere le choix !
    Je dois utiliser uniquement Delphi 6 et passer par une couche ADO.
    Tout fonctionne à peu près bien mais il me reste quelques réglages à faire...notamment cette fameuse limite de caractères...

    Tu as raison, il doit y avoir un petit paramètre à étendre dans l'ADOQUERY...je fouille

    EDIT : Je viens de tenter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADOQuery.Fieldlist.Field[X].DisplayWidth
    mais cela ne change rien.

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Citation Envoyé par mikelemerle Voir le message
    Je dois utiliser uniquement Delphi 6 et passer par une couche ADO.
    Le choix d'un grand stratège !
    Quand l'on refait une application Paradox vers un SGBDR, les pratiques changent, fini les listings infinis, tout en SQL au lieu de Filter et autre ...

    Le support des hautes résolutions, le support de Windows Récent ?
    Non, ton responsable ne voit pas le problème d'utiliser une version vieille de 20ans conçue pour Win2K avec une couche ADO même plus en phase avec OLE DB / ODBC qui est installé sur les postes en Win10 ?



    1- Champ persistant ou Non ?
    2- Tu as bien vérifié que ce n'est pas le DataPump Paradox->PostgreSQL qui a oublié la fin des blobs ?
    3- As-tu essayé un autre provider pour montrer que ADO de D6 est peut-être pas adapté à PostgreSQL et montrer au grand stratège qu'il a tord ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Tu es totalement dans le vrai !

    Mais plusieurs problèmes viennent se greffer à ce projet : Ancienneté du programme ( gros programme réalisé en pratiquement 2 ans et amélioré sans cesse en 20 ans), budget qui est uniquement alloué au changement de BD et non à une refonte complète du programme...
    Par contre, en ce qui concerne le provider, c'est moi même qui ai choisi ADO parce que c'est juste le premier essayé.
    Il faut savoir que paradox était utilisé plus comme table de stockage que base de données à part entière. Pratiquement aucune requêtes ne sont exécutées.

    Donc, la couche ADO me semble suffisante, même largement suffisante pour ce que mon client veut en faire

    Je continue à regarder...et vous tiens au courant.

    Merci pour votre aide.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par mikelemerle Voir le message
    Par contre, en ce qui concerne le provider, c'est moi même qui ai choisi ADO parce que c'est juste le premier essayé.
    Si c'est la cas pourquoi ne pas essayer ZEOSDBO (qui rentrera dans le budget puisque open source)
    Il faut savoir que paradox était utilisé plus comme table de stockage que base de données à part entière
    SQLite n'aurait pas été plus simple

    Pratiquement aucune requêtes ne sont exécutées.
    Ah le bon vieux temps des tables Paradox


    Donc, la couche ADO me semble suffisante, même largement suffisante pour ce que mon client veut en faire
    les couches j'évite, mais bon c'est toujours mon a priori

    Ancienneté du programme ( gros programme réalisé en pratiquement 2 ans et amélioré sans cesse en 20 ans), budget qui est uniquement alloué au changement de BD et non à une refonte complète du programme...
    c'est le cas de mon appli (D3) mais j'ai pris le taureau par les cornes et le transfert vers la dernière version et en FMX (pour intégrer les Mac et tablettes) est en cours. Gros avantage la base de données (du moins le SGBD) reste le même (Firebird) même si la structure des tables change un peu. J'ai 4 ans pour finaliser tout en continuant la maintenance (cela va de soit)

    montrer au grand stratège qu'il a tord ?
    @ShaiLeTroll ton tord est tordu alors qu'avoir tort tue
    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
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Re:

    Je viens de regarder le size ( en champs persistant), d'un de mes champs que je connais long.
    Par défault, la valeur de l'ADODataSet.ChampsX.size = 255.
    J'ai cru à une piste mais non...en changeant, rien n'y fait.

  12. #12
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Essaye un ADOQuery tout neuf sans champ persistant avec un brutal SELECT * pour voir ce que cela donne



    HS
    Merci pour le moyen mémo-technique du Tort tue !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    La même chose.
    J'ai fait le tour de l'ADOQuery...

    J'ai essayé aussi avec d'autres programmes.
    Il y a toujours une troncature à 255 caractères concernant les champs de type CharacterVarying.

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    As-tu tenté de changer le driver ? La version de PostGres est-elle compatible avec ton driver ?
    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

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    J'ai honte...je viens de trouver !
    Je me suis focalisé sur la couche ADO sans aller voir les options ODBC de Win 10.
    Dans les options avancées, la valeur de Max Varchar était à 255 !

    Tout s'arrange avec une valeur plus grande

    Un grand merci à vous tous !!

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    En y regardant de plus près, le problème c'est que un mémo Paradox aurait plutôt du être transféré vers un bytea ou Text et non un varchar.
    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

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 53
    Points : 39
    Points
    39
    Par défaut
    Ce n'est pas un problème mais après avoir essayé la conversion Mémo ==> Bytea affiche Binarydata sans pouvoir visualiser les datas.
    Par contre, Text fonctionne très bien...

    Merci du conseil !

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

Discussions similaires

  1. Requête UNION - limitation des champs à 255 caractères
    Par Pierre_78 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/03/2016, 21h11
  2. [WD17] Sélecteur répertoire limité en affichage à 50 caractères
    Par franck34matlab dans le forum WinDev
    Réponses: 6
    Dernier message: 06/05/2014, 18h49
  3. [AC-2007] Limite condition where (255 caractères)
    Par amelyfred dans le forum IHM
    Réponses: 2
    Dernier message: 22/11/2013, 16h10
  4. Export au format CSV limité à 255 caractères
    Par RKU01 dans le forum Access
    Réponses: 1
    Dernier message: 07/12/2006, 05h53
  5. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 16h29

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