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 :

Firedac, vue MySQL qui ne s'affiche pas en TFDtable


Sujet :

Bases de données Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    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 383
    Points : 2 996
    Points
    2 996
    Par défaut Firedac, vue MySQL qui ne s'affiche pas en TFDtable
    Bonjour tout le monde

    J'ai une table MySQL 8 sur laquelle j'ai créé une vue pour obtenir des données triées sans utiliser d'index.
    J'utilise un TFDTable et je choisis la vue dans les noms de tables proposés par l'inspecteur d'objet.
    Une DBgrid affiche les données.
    Quand j'active le TFDTable, après 2 secondes d'affichage du curseur SQL, la grille affiche les noms de colonnes correspondant aux champs de la vue mais aucune donnée.

    Si je remplace le TFDTable par un TFDQuery avec le SQL "select * from mavue" les données s'affichent correctement et je peux les éditer comme s'il s'agissait d'une table.

    J'aimerais conserver le TFDTable pour diverses raisons un peu longues à expliquer.

    Question: pourquoi cette différence entre le deux composants ? Et surtout est-il possible de conserver le TFDTable en modifiant quelque chose que j'aurais zappé ?

  2. #2
    Rédacteur/Modérateur

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

    même en vacances, mais pas encore sur ma zone de pêche, cela a piqué ma curiosité
    J'ai une table MySQL 8 sur laquelle j'ai créé une vue
    Ah bon, on peut faire des vues chouette j'ai appris quelque chose

    du coup, j'ai une base prestashop sous la main, et j'ai fait une essai
    une vue simple
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE VIEW TEST AS SELECT NAME FROM ps_zone ORDER BY NAME asc
    et un programme qui ne l'est pas moins (FMX, no code ouf, c'est les grandes vacances)
    Nom : Capture.PNG
Affichages : 75
Taille : 39,3 Ko
    Cela a l'air de fonctionner.

    Evidement il faut que je teste aussi en VCL
    Nom : Capture_1.PNG
Affichages : 76
Taille : 35,1 Ko
    même chose cela fonctionne

    la seule question qui me reste c'est savoir si ma version MySQL est la même et là, ça ce n'est pas le cas puisqu'il s'agit de MariaDB 10.3.11
    Je ne peux donc rien confirmer
    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

  3. #3
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    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 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Tu es trop curieux mon ami . Faut te reposer un peu les méninges

    Sans plaisanter, je suis effectivement en VCL puisqu'il s'agit d'un logiciel d'origine Delphi 5.
    Et l'affichage dans la TDBGrid se fait classiquement pr un enchainement TFDTable -> TDatasource -> TDBGrid.
    C'est peut-être ça qui fait la différence.

    J'ai essayé plusieurs solutions en ajoutant ou pas tous les champs dans le dfm mais rien n'y fait.
    Je testerai avec ta méthode pour voir.

    Sinon, pour MySQL, on peut faire des tas d'autres choses du plus simple au plus compliqué.
    Regarde du côté des "generated column" si tu ne connais pas.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    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 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    Tu es trop curieux mon ami . Faut te reposer un peu les méninges
    je largue doucement le boulot et la reprise sera douloureuse je le craint

    Sans plaisanter, je suis effectivement en VCL puisqu'il s'agit d'un logiciel d'origine Delphi 5.
    Et l'affichage dans la TDBGrid se fait classiquement pr un enchainement TFDTable -> TDatasource -> TDBGrid.
    mon second essai semble indiquer que non, c'est bien du VCL

    Je testerai avec ta méthode pour voir.
    je n'ai rien mis d'exotique si ce n'est, peut-être, le nom de la "table"

    Sinon, pour MySQL, on peut faire des tas d'autres choses du plus simple au plus compliqué.
    Regarde du côté des "generated column" si tu ne connais pas.
    je n'en suis pas au point d'aimer suffisament MySQL, étant plutôt fan de Firebird
    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
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    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 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Citation Envoyé par SergioMaster
    Ah, désolé je m'y suis mal pris et j'ai modifié ton message au lieu d'y répondre (met ça sur le compte du réveil)

    En plus, va faire un sql du genre "select mafonction(monchamp) from matable" en Firebird.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 029
    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 029
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par papy214
    En plus, va faire un sql du genre "select mafonction(monchamp) from matable" en Firebird.
    Déjà il y a plusieurs types de fonctions (3 en fait) les internes, les externes (UDF) et à partir de Firebird 3 les PSQL Stored functions donc savoir de laquelle tu parles est compliqué.
    Perso j'utilise surtout les deux premières et 80% (fameuse loi) sont des fonctions internes et quelques externes (là encore c'est du 80/20 entre celles de fonctions déjà créées freeAdhocUdf et mes propres fonctions écrites en Delphi cela va de soit .
    Pour ce qui est de la dernière ma base de production étant en 2.5 ( toujours pas passé en 3 ou même en 4 par manque de temps) je n'ai pas pu l'utiliser, d'un autre côté le PSQL étant limité, je n'ai pas eu de raison de m'y intéressé sérieusement.

    Mais oui, faire un SQL du genre select mafonction(monchamp) from matable ne me pose aucun état d'âme particulier . Je n'ai pas d'exemples sous la main pour des fonctions maison (sache que je fais des conversions de mesure dans certaines de mes requêtes mais en voici une qui me réjouit souvent
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DATEDIFF(DAY,CURRENT_DATE,DATEADD(67 YEAR TO DATE '29-JUN-1956')) JOURS, 
    DATEDIFF(MONTH,CURRENT_DATE,DATEADD(67 YEAR TO DATE '29-JUN-1956')) MOIS,
    DATEDIFF(MONTH,CURRENT_DATE,DATEADD(67 YEAR TO DATE '29-JUN-1956'))/3 TRIMESTRES,
    DATEADD(67 YEAR TO DATE '29-JUN-1956')
    FROM RDB$DATABASE
    en particulier aujourd'hui où j'arrive à 700 jours
    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
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    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 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Pour les PSQL, ton lien indique que c'est à partir de la version 3.
    Je me suis limité comme toi à la 2.5. Il y a donc du mieux apparemment.

Discussions similaires

  1. [HTML]Image qui ne s'affiche pas sous firefox...
    Par OrangeBud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/10/2004, 13h42
  2. pages qui ne s'affichent pas
    Par luck dans le forum ASP
    Réponses: 4
    Dernier message: 19/07/2004, 11h35
  3. [Applet] BorderLayout qui ne s'affiche pas
    Par Invité(e) dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 29/04/2004, 11h39
  4. [debutant][Tomcat]Images qui ne s'affichent pas
    Par omega dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2004, 09h44
  5. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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