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

WinDev Discussion :

Problème avec requeteur pour PostGreSQL


Sujet :

WinDev

  1. #21
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    J'évite autant que faire se peut (càd tout le temps ), les tables fichiers avec des requêtes chiadées dedans. Je préfère créer ma belle requête en texte et faire des tableajouteligne()... Si l'utilisateur veut ajouter/modifier une ligne, j'ouvre une fenêtre fiche...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  2. #22
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    J'évite autant que faire se peut (càd tout le temps ), les tables fichiers avec des requêtes chiadées dedans. Je préfère créer ma belle requête en texte et faire des tableajouteligne()... Si l'utilisateur veut ajouter/modifier une ligne, j'ouvre une fenêtre fiche...
    Mouais ! Ça va pour des tables avec quelques lignes, mais quand tu as trop de données, le temps de chargement est trop long.
    Quand aux ajouts/modifs, je fais comme toi. Aucune modif depuis la table, trop chiant à gérer.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  3. #23
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    On revient sur le problème existentiel : un utilisateur a-t'il besoin d'afficher une table de 10 000 lignes ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #24
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    On revient sur le problème existentiel : un utilisateur a-t'il besoin d'afficher une table de 10 000 lignes ?
    C'est l'avantage d'une table fichier. Tu n'affiches pas les 10 000 lignes, mais tu peux rapidement y accéder, sans avoir à refaire une requête, toussa, toussa...
    Grâce aux tris automatiques (sur entête de colonne) et aux filtres (là encore dans l'entête des colonnes) avec une table fichier tu n'as rien à faire. Alors qu'avec des tables mémoires, tu dois refaire une requête.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  5. #25
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    Je suis bien d'accord avec toi, mais... L'affichage, même "virtuel" de 10 000 lignes est il réellement nécessaire ? L'utilisateur ne traitera pas l'intégralité mais seulement quelques lignes (1% des lignes affichées ?). Du coup, pourquoi ne pas "imposer" un filtrage en amont. Certes, c'est plus lent, mais le temps passé par l'utilisateur à rechercher les 1% de lignes concernées dans la paquet n'est pas négligeable. Et je ne te parle pas de l'utilisateur qui va loucher et se tromper de ligne...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  6. #26
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Tout dépend de l'utilisation du fichier.

    Par exemple, ici, on a environ 30 000 articles. Ces articles sont soient des éléments qui entrent dans la fabrication de produits finis ou semi-finis, et les autres sont ces fameux produits finis - semi-finis.

    Quand une personne du bureau d'étude va chercher des composants, pour un nouveau produit, il va balayer la table des dizaines, voire des centaines de fois. S'il fallait à chaque fois recharger les articles selon un nouveau filtre, il viendrait me faire bouffer son clavier...

    Quant au mec qui louche, il se trompera aussi bien avec 20 articles affichés sur 20 que sur 20 articles affichés sur 10000. Je crois que dans ce cas, il faut jouer sur le visuel (lignes plus grandes, alternance des couleurs, ...)
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  7. #27
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Enfin moi je continue à dire que le problème vient des double quotes. C'est d'ailleurs spécifié dans le message d'erreur.

    Refais ton script, enlève les double quotes et mets tout en minuscule tu verras que ça ira mieux.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  8. #28
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Citation Envoyé par Jon Shannow
    Du coup, vous faites comment pour les tables fichiers ?
    Perso, depuis qu'il existe la variable de type Requête SQL, j'en use et en abuse. Tu restes maître du code SQL et tu peux l'utiliser comme source de données d'une table donc c'est top.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  9. #29
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Enfin moi je continue à dire que le problème vient des double quotes. C'est d'ailleurs spécifié dans le message d'erreur.

    Refais ton script, enlève les double quotes et mets tout en minuscule tu verras que ça ira mieux.
    A l'origine, je n'ai pas de double quote. Je les ai rajoutées pour voir si ça pouvait venir de là.
    Mais, non.
    La requête n'est pas réalisée via un script, mais bien en langage SQL.

    J'ai fais "Nouvelle requête" dans l'explorateur du projet, en cliquant droit sur "Requetes".
    Et dans la fenêtre suivante
    Nom : Requeteur.PNG
Affichages : 359
Taille : 120,8 Ko

    Je clique sur l'option entourée du trait bleu. Là, je tape le code SQL que je veux. C'est ce même code que j'ai recopié (copier-collé) dans une variable pour lancer HExecuteRequeteSQL.
    La requête fonctionne avec la méthode HExecuteRequeteSQL mais pas si je rattache l'élément requête à une table fichier.

    Pour moi, c'est bien Windev qui interprète le code SQL d'une certaine façon, pour certaines rubriques. Ce qui me fait dire cela, c'est cette fenêtre :
    Nom : Probleme_PostgreSQL_3.PNG
Affichages : 232
Taille : 5,4 Ko
    On voit que la requête exécutée utilise "t2.fab_code" alors que dans le source c'est "t2.fab_Code" alors que "t2.fab_Nom" n'est pas modifié !

    Tu as raison, si tout est en minuscule, il n'y aura pas de problème. Mais, ça n'empêche qu'il s'agit d'un bug de Windev !
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  10. #30
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Dans le post 11 tu dis:
    A partir de l'analyse de Windev.

    J'ai fais les 3 bases de la même manière pour être sûr de ne pas avoir de différences entre les bases.

    En fait, l'analyse de Windev m'a fournit un script SQL pour MySQL et un pour PostGreSQL, c'est ce script que j'ai exécuter depuis pgAdmin (pour PostgreSQL)
    Le script généré par Windev sort de cette manière:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    -- Script généré par WINDEV le 09/12/2019 15:47:23
    -- Tables de l'analyse Analyse.wda
    -- pour PostgreSQL
     
    -- Création de la table adresse
    CREATE TABLE "adresse" (
        "id" SERIAL8  PRIMARY KEY ,
        "id_tiers" BIGINT ,
        "adresse" TEXT  NOT NULL ,
        "code_postal" VARCHAR(13)  NOT NULL ,
        "ville" VARCHAR(40)  NOT NULL ,
        "pays" VARCHAR(40) ,
        "type_tiers" CHARACTER  NOT NULL ,
        "type_adresse" CHARACTER  NOT NULL  DEFAULT 'F',
        "adresse_principale" BOOL );

    Tu constateras par toi même que les colonnes sont toutes entourées par des doubles quotes. Le problème que tu rencontres vient de là et de nul part ailleurs. Tu peux t’entêter et dire le contraire mais ce que tu vis là je l'ai vécu avant toi et bien d'autres développeurs l'ont vécus également.

    Si tu regardes attentivement le message d'erreur renvoyé par postgreSQL tu constateras qu'il t'aiguille sur le nom de la colonne que tu tentes d'utiliser en l'entourant avec des chevrons qui ne sont rien d'autres que des double quotes.
    Nom : Probleme_PostgreSQL.PNG
Affichages : 279
Taille : 13,9 Ko
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  11. #31
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    Tout dépend de l'utilisation du fichier.

    Par exemple, ici, on a environ 30 000 articles. Ces articles sont soient des éléments qui entrent dans la fabrication de produits finis ou semi-finis, et les autres sont ces fameux produits finis - semi-finis.

    Quand une personne du bureau d'étude va chercher des composants, pour un nouveau produit, il va balayer la table des dizaines, voire des centaines de fois. S'il fallait à chaque fois recharger les articles selon un nouveau filtre, il viendrait me faire bouffer son clavier...

    Quant au mec qui louche, il se trompera aussi bien avec 20 articles affichés sur 20 que sur 20 articles affichés sur 10000. Je crois que dans ce cas, il faut jouer sur le visuel (lignes plus grandes, alternance des couleurs, ...)
    Oui, je comprends bien. Dans notre table article, il y en a 1 234 000 pour commencer. On peut monter à 2 000 000 voire plus. Ce que l'on fait, c'est qu'on a une sorte de code "raccourci". L'utilisateur saisit une partie de de code et fait tab. Une fenêtre de recherche s'ouvre avec les articles correspondant à ce raccourci. Dans ladite fenêtre, il peut, si besoin affiner sa recherche (zones de saisie marque, catégorie, code fabriquant,....). Lorsqu'il a trouvé son article, la fenêtre est fermée et l'article est ajouté dans la première fenêtre.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  12. #32
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Je suis d'accord avec ce que tu dis, mais, il y a quand même un bug, puisqu'il transforme "fab_Code" en "fab_code" alors qu'il ne transforme pas "fab_Nom" en "fab_nom" !
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  13. #33
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 161
    Points : 9 111
    Points
    9 111
    Par défaut
    Non, c'est une fonctionnalité non documentée.

    As-tu contacté le ST pour cette coquille ? Malheureusement pour toi, ils ne vont pas la corriger puisque c'est la sortie de WD25....
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  14. #34
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 340
    Points : 9 597
    Points
    9 597
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Non, c'est une fonctionnalité non documentée.

    Citation Envoyé par frenchsting Voir le message
    As-tu contacté le ST pour cette coquille ? Malheureusement pour toi, ils ne vont pas la corriger puisque c'est la sortie de WD25....
    Non, ça ne sert à rien. Comme tu le dis.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  15. #35
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Contacter le quoi ???

    Non, ça ne sert à rien. Comme tu le dis.
    Mais si, après tu leur envois un projet test avec la base, les scripts,... bref 1/2 journée de boulot.

    Je ne suis même pas sûr que les accès natifs bougent d'une version à l'autre...

    Un petit coup de recompil là dessus, les utilisateurs nous dirons s'il y a un bug...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/02/2006, 19h31
  2. Petit problème avec GCC pour l'Unicode...
    Par Nico*3-3 dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 29/01/2006, 18h12
  3. problème avec strtok pour récupérer les vides
    Par manikou dans le forum MFC
    Réponses: 4
    Dernier message: 02/06/2005, 21h08
  4. Réponses: 5
    Dernier message: 27/08/2003, 12h45

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