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 :

probleme de connection et recupération de donnée d une base Mysql


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club Avatar de Einstein8854
    Homme Profil pro
    retraité chef de projet informatique fonction publique
    Inscrit en
    mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité chef de projet informatique fonction publique
    Secteur : Service public

    Informations forums :
    Inscription : mars 2021
    Messages : 5
    Points : 6
    Points
    6
    Par défaut probleme de connection et recupération de donnée d une base Mysql
    Bonjour,
    voilà mon pb:
    j ai crée une petite appli VCL MDI avec acces à une base de donnée Mysql., l appli comprend le mdi Parent et 4 MDIchild.
    ma base mysql et en utf8
    sur le mdi parent j ai un composant firedac pour le driver mysql et 1 composant firedac pour la connection (test connection ok) avec utf8.
    delphi 10.0.3, myql 8

    et sur mes child j ai des composants firedac query qui me servent à alimenter des combo box, text edit et autre grid.
    tout se passe bien sur 3 child mais sur un c est problematique :

    j ai effectué plusieurs tests :
    ce child comporte 3 module fdquery
    -1/meme configuration que les autres child : au chargement et au focus de ce child (et pas sur les autres) j ai systematiquement erreur firedac phys mysql 308 et mes module combo, edit,memo ...ne se chargent pas.
    -2 /sur ce child, j installe un module firedac connection relié au driver mysql du parent et le charset à utf8 : m^me comportement que 1
    -3/ sur ce child je garde la configuration 2 et ne change que le charset du connecteur en le mettant à "none" : aucun message d erreur, connexion ok mais ..... au chargement des modules toutes les données de ma base accentuées ou avec caractères speciaux sont mal restituée (et ayant une base avec des prénom,nom etc.... je ne peux me permettre de tout passer en majuscule ou supprimer les caractères accentués).

    j ai déjà qq années de prog derrière mois et là je dois dire que je tourne un peu en rond, surtout devant le coté non generalisé du pb (3 child ne rencontrent pas de pb), et cela tant en select, update ou insert...

    si quelqu un a ne serait ce qu une piste à explorer.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 261
    Points : 36 003
    Points
    36 003
    Billets dans le blog
    54
    Par défaut
    Bonjour et bienvenue.

    Des pistes je ne sais pas mais déjà je propose de plutôt créer un datamodule pour y mettre tout ce qui est accès données (FDConnexion et fdQuerys)
    Je penche même de plus en plus vers un Datamodule général (fdconnexion) et un datamodule par forme quand il s'agit d'utiliser les Livebindings c'est plus facile mais je n'ai pas encore franchi ce pas.

    Le point 3 serait peut-être une piste des requêtes qui taperait sur une table avec problème d'encodage ?

    Vu le pseudo, on se connait de Twitch
    Serge
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  3. #3
    Futur Membre du Club Avatar de Einstein8854
    Homme Profil pro
    retraité chef de projet informatique fonction publique
    Inscrit en
    mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité chef de projet informatique fonction publique
    Secteur : Service public

    Informations forums :
    Inscription : mars 2021
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour et bienvenue.

    Des pistes je ne sais pas mais déjà je propose de plutôt créer un datamodule pour y mettre tout ce qui est accès données (FDConnexion et fdQuerys)
    Je penche même de plus en plus vers un Datamodule général (fdconnexion) et un datamodule par forme quand il s'agit d'utiliser les Livebindings c'est plus facile mais je n'ai pas encore franchi ce pas.

    Le point 3 serait peut-être une piste des requêtes qui taperait sur une table avec problème d'encodage ?

    Vu le pseudo, on se connait de Twitch
    Serge
    bonjour Serge,
    oui on se connait en effet de twitch !
    mais tu vois malgré mes quasi 45 ans d informatique c est la première fois que j utilise un forum (avant au boulot, j utilisais les hotline editeurs !). et la developpez.net cela a l air bien mais dense et touffu, j ai du mal à m y retrouver d ailleurs je ne sais si j ai fais correctement.

    pour en revenir à mon pb et ce que tu préconises, c est un peu ce que j avais envisagé de faire avec le mdiParent (en guise de datamodule) en y mettant le firedac driver et le firedac connection j avais aussi mis des fdquery mais ayant rencontré des difficultés sur certaines requetes dynamiques j ai in fine opté pour quelques fdquery sur les child . peut etre un mauvais choix ?je vais essayer de revenir en arrière et voir , puis completerez message en consequence.
    je vais verifiez la bd mais je ne pense pas avoir de pb de ce coté...
    cela faisait des années que je n avais fais de pascal (pas une option du boulot helas) alors que j adore. là je m y remet depuis 2 ans à fond, mais avec delphi il y a eu tant d evol...je l ai fait en vcl, j aurais du peut etre le faire en fmx....(une prochaine version).
    je sors un peu du sujet mais c est pour le contexte...

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    13 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 13 261
    Points : 36 003
    Points
    36 003
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par Einstein8854 Voir le message
    mais tu vois malgré mes quasi 45 ans d informatique c est la première fois que j utilise un forum (avant au boulot, j utilisais les hotline editeurs !). je ne sais si j ai fais correctement.
    C'est tout bon pour un début, bon endroit où poser la question, juste qu'il n'est pas utile de reciter tout (seulement les morceaux choisi).

    OMG 45 ans d'informatique, j'en ai que 39/40 au compteur (si on ôte bien sûr les années fac, j'ai jetté mes dernières cartes perforées il y a peu )

    et la developpez.net cela a l air bien mais dense et touffu, j ai du mal à m y retrouver d ailleurs
    c'est vrai il y a beaucoup de rubriques mais on s'y fait vite. En tout cas je m'y sens plus à l'aise que sur les forums anglais
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  5. #5
    Futur Membre du Club Avatar de Einstein8854
    Homme Profil pro
    retraité chef de projet informatique fonction publique
    Inscrit en
    mars 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité chef de projet informatique fonction publique
    Secteur : Service public

    Informations forums :
    Inscription : mars 2021
    Messages : 5
    Points : 6
    Points
    6
    Par défaut element de solution partiel
    après le retour de SergioMaster, j ai continué recherche sur ces pistes et ai trouvé 2 élements qui répondent partiellement au pb :

    1/sur la base mysql j étais en utf 8 mais apres qq recherches ai découvert que l utf8 Mysql n est pas complétement standard, il encode sur 3 octets alors que la norme est 4 donc passage en utf8-mb4

    2/lors de la saisie sur mes modules les noms et prenoms peuvent etre saisi en minuscule comme majuscule et dans le code je fais un uppercase avant l insert dans la bd or de ce fait j avais inséré un René dans la base et le é n a pas été transformé par l uppercase
    et ensuite lors de la restitution il bloquait le fdquery sur le select. J ai mis un E majuscule à la place dans la base et plus de pb.

    mais serait ce à dire que l uppercase est à évité pour passé de minuscule à majuscule, qu utiliser ?
    forcer le majuscule via la propriété charcase des TEdit

    Merci Sergio , tu ne m as pas apporté la solution mais l échange m a mis sur la piste

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

Discussions similaires

  1. Insertion de donnée dans une base MySql
    Par jep33 dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2008, 08h44
  2. [MySQL] Menu déroulant avec des données d'une base MySQL
    Par kamclasse dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 06/08/2008, 18h02
  3. [FPDF] Intégrer des données d'une base MySQL
    Par simox dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/07/2007, 11h58
  4. recuperation de donnes sur une base MYSQL
    Par skillipo dans le forum JDBC
    Réponses: 6
    Dernier message: 29/06/2007, 16h08
  5. [MySQL] Problème avec affichage des données d'une base MySQL
    Par leclone dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 27/12/2006, 13h40

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