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

Lazarus Pascal Discussion :

Lazarus et PostgreSQL [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 101
    Points : 80
    Points
    80
    Par défaut Lazarus et PostgreSQL
    Bonjour à toutes et à tous.
    Je suis face à une erreur devant laquelle je ne sais pas quoi faire.
    Je me sers de 5 Datamodule :
    Connexion avec un TPQConnection et un TSQLTransaction,
    Materiau, Forme, Structure et Pression avec chacun un TSQLQuery et un TDataSource.
    Après inter-connexion de tout ce petit monde, j'ai testé les résultats obtenus par chacune des requêtes. Tout est correct.
    J'ai placé 4 DBLookupComboBox pour afficher un champ ('libelle') de chacune des requêtes. Affichage correct des colonnes.
    Lors de la sélection dans les DBLookupComboBox, tout se passe bien pour 3 d'entre elles. Pour la quatrième il y a ce message d'erreur :

    Nom : RequeteForme.jpg
Affichages : 231
Taille : 32,7 Ko

    Il n'y a aucun code dans les unités, autre que celui placé au moment de leur création.
    Je vais essayer de faire la même application se connectant à MySQL. Mais je préférerais utiliser PostgreSQL pour les domaines, les schémas, etc...
    Merci pour votre aide pour résoudre ce problème.

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut
    dur de répondre, a part vérifier que ta 4ème soit bien initialisée avec les bons noms de champs et que la table ne soit pas vide. Là comme ça je ne vois pas

    As tu deja fais une petite UI avec tous les méthodes CRUD juste sur cette table pour voir ?

    Au vu du message d'erreur c'est comme si tu n'avais pas défini le nom du champ.

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Membre régulier
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 101
    Points : 80
    Points
    80
    Par défaut
    Merci BeanzMaster pour l'intérêt que tu portes à mes soucis.
    Postgresql est installé au moyen de WAPP Stack de Bitnami, version 11.5. Lazarus 2.0.6 est installé.
    Voici ce que j'ai fait sans écrire une seule ligne de code, connexion établie avec la base de données:
    1. J'ai déposé TSQLQuery, TDataSource et TDBLookupComboBox sur la fiche pour la table Forme, incriminée précédemment. Cela fonctionne bien.
    2. J'ai répété cette opération pour la table Matériau. Les deux DBLookupComboBox fonctionnent bien.
    3. J'ai répété la même opération pour la table Pression. Et là, je reçois le message d'erreur précédent.
    4. J'ai répété la dépose des trois composants précédents pour la table Structure. La choix pour cette table fonctionne bien.

    Il semblerait que la table Forme ne sois pas en cause tout comme la table Pression qui soulève le même type d'erreur.
    À partir d'une installation de MySQL par WAMP stack de Bitnami j'ai répété la dépose des 14 composants précédents et tout fonctionne bien, sans message d'erreur.
    Je vais essayer
    • de capter le message d'erreur dans l'application avec Postgresql pour voir si je peux aller plus loin dans cette conception d'application en attendant de trouver la solution.
    • et/ou d'initialiser tous ces composants par programmation dans l'événement OnCreate de la fiche a lieu de n'utiliser que l'inspecteur d'objet.

    Merci encore et bonne nuit.

  4. #4
    Membre régulier
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 101
    Points : 80
    Points
    80
    Par défaut
    J'ai remplacé les DBLookupComboBox par des ComboBox que j'ai peuplées au moyen d'une boucle while dans laquelle j'utilise combobox.add.items. La sélection des items se passe sans message d'erreur.
    Mais cela ne me satisfait pas car le problème précédent n'a pas été solutionné.
    Il me reste à récupérer les clés primaires associées aux items sélectionnés.
    @BeanzMaster, merci pour ton aide, Michel.

  5. #5
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut, hum a voir comment sont liées tes tables. Il y a peut-être une erreur dans la formation de la commande SQL dans Lazarus. Si je ne dis pas de bêtises, il ya quelques petites différence entre le SQL de MySQL et celui de Postgresql

    Petit question en changeant l'ordre de création pour les tables, disons : Structure, Pression, Materiau et Forme. Est ce que tu obtient la même erreur à partir de la table Matériau. Si oui ce serait un bug à soumettre à l'équipe de Lazarus

    A+
    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  6. #6
    Membre régulier
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 101
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut, hum a voir comment sont liées tes tables.
    Que veux-tu dire en parlant de tables liées. Pour l'instant les tables sont indépendantes, pas de jointure, pas de clé étrangère ... Elles sont interrogées individuellement. Par contre les 4 requêtes sont toujours actives. Dans le dernière version qui fonctionne, avec les ComboBox, chaque requête rempli sa ComboBox puis est fermée.

    Citation Envoyé par BeanzMaster Voir le message
    Il y a peut-être une erreur dans la formation de la commande SQL dans Lazarus. Si je ne dis pas de bêtises, il ya quelques petites différence entre le SQL de MySQL et celui de Postgresql
    MySQL est moins respectueuse de la norme SQL que PostgreSQL. Pour la formation des commandes dans Lazarus, je ne suis pas capable d'en juger. De l'intérieur de l'EDI, les requêtes contenues dans la fenêtre SQL de SQLQuery fonctionnent correctement. Je n'ai pas eu de problème de cet ordre jusqu'à présent. Les problèmes que j'ai eu provenaient toujours de ma programmation.

    Citation Envoyé par BeanzMaster Voir le message
    Petit question en changeant l'ordre de création pour les tables, disons : Structure, Pression, Materiau et Forme. Est ce que tu obtient la même erreur à partir de la table Matériau.
    Quelque soit l'ordre de l'affichage dans les DBLookuoComboBox, c'est toujours la sélection d'un item dans la troisième que crée le message d'erreur.

    Citation Envoyé par BeanzMaster Voir le message
    Si oui ce serait un bug à soumettre à l'équipe de Lazarus
    J'ai toujours des scrupules à parler de bug. Je pense, à priori que les problèmes se trouvent toujours entre la chaise et le clavier!

    Bonne soirée, Michel.

  7. #7
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut Michel, mis à part le fait que la connexion se ferme ou soit fermée je ne vois pas. Y-a-t'il un paramètre genre "MaxConnexion" qui traînerait quelque part ?

    As-tu essayé les composants ZEOS à la place ?

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre régulier
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 101
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Y-a-t'il un paramètre genre "MaxConnexion" qui traînerait quelque part?
    J'ai bien essayé de le trouver. Ma détermination a été peu importante car je ne sais pas où chercher, d'autant qu'à partir de la quatrième requête requête cela fonctionne. Il n'y a que la troisième qui génère une erreur. Ce problème dépasse mes compétences.

    Citation Envoyé par BeanzMaster Voir le message
    As-tu essayé les composants ZEOS à la place ?
    Je viens juste de terminer. J'ai un peu galéré pour l'installation de ZeosLib, car j'avais coché la case LoginPrompt du ZConnection. Je n'ai pas su intégrer le fichier DbLogDlg.pas dans LCL base! J'ai mis le paquet sur le nombre de ZQuery (5), DataSource (5), de DBLookupComboBox (5), de DBGrid (5) avec bien sûr un Zconnection. Tout fonctionne bien, sans message d'erreur. Le problème est contourné, mais pas résolu.

    Merci, Jérôme, pour ton aide et tes conseils. Je reste à l'écoute.

  9. #9
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Miflon Voir le message
    J'ai bien essayé de le trouver. Ma détermination a été peu importante car je ne sais pas où chercher, d'autant qu'à partir de la quatrième requête requête cela fonctionne. Il n'y a que la troisième qui génère une erreur. Ce problème dépasse mes compétences.
    J'ai regardé aussi et rien trouvé dans ce sens.

    Citation Envoyé par Miflon Voir le message
    Je viens juste de terminer. J'ai un peu galéré pour l'installation de ZeosLib, car j'avais coché la case LoginPrompt du ZConnection. Je n'ai pas su intégrer le fichier DbLogDlg.pas dans LCL base! J'ai mis le paquet sur le nombre de ZQuery (5), DataSource (5), de DBLookupComboBox (5), de DBGrid (5) avec bien sûr un Zconnection. Tout fonctionne bien, sans message d'erreur. Le problème est contourné, mais pas résolu.

    Merci, Jérôme, pour ton aide et tes conseils. Je reste à l'écoute.
    Il est vrai que l'installation de ZeosLib est un peu sioux. Mais en passant par le gestionnaire de paquet en ligne, normalement tout roule.
    Si tout fonctionne avec Zeos, cela veut bien dire que le soucis provient des composants/classes strandard de Lazarus. Pour le peux de BDD que j'ai eu à faire. Je dois bien l'avouer je préfère Zeos aux composants standard

    Bon week-end Michel

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

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

Discussions similaires

  1. [Lazarus] Connexion Lazarus PostgreSQL (libpq.dll)
    Par Miflon dans le forum Lazarus
    Réponses: 12
    Dernier message: 14/11/2019, 16h04
  2. [Lazarus] Connexion Lazarus Postgresql
    Par Miflon dans le forum Lazarus
    Réponses: 3
    Dernier message: 09/07/2014, 20h46
  3. [Kylix] PostgreSql via ODBC
    Par doykati dans le forum EDI
    Réponses: 3
    Dernier message: 08/02/2007, 10h10
  4. Réponses: 4
    Dernier message: 28/09/2002, 00h00
  5. Réponses: 2
    Dernier message: 30/05/2002, 08h54

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