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 :

[WD12] Afficher dans une table le resultat d'une requete SQL basée sur MySQL


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 22
    Points
    22
    Par défaut [WD12] Afficher dans une table le resultat d'une requete SQL basée sur MySQL
    Bonjour,
    J'aimerais pouvoir afficher dans un tableau (appelé Table dans Windev) le resultat d'une requete SQL.
    Voici un bout de code que j'ai essayer d'executer mais ca ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ReqTest est une Source de Données
     
    HExécuteRequêteSQL (ReqTest, "SELECT Code FROM EQUIP")
    TableAjouteLigne(TABLE_MYSQL,ReqTest)
    Merci pour votre aide.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Pourquoi ne crées-tu pas une table sur fichier et la lier à ta requete ?

    Sinon, ton code est incomplet.
    Tu exécutes ta requete, mais tu ne lis pas le résultat
    Regarde l'aide sur HExécuteRequête()

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Concretement,
    - j'ai une BDD MySQL stocké sur un serveur distant, donc j'initialise ma connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    NumConnexion est un entier
    NomSource est une chaîne
    ReqTest est une Source de Données
     
    NomSource = "http://www.monsiteweb.com"
    NumConnexion = SQLConnecte(NomSource, "user", "pass","nomdemabase")
     
    SI NumConnexion<>0 ALORS
    	Info ("Connexion réussie")
    	SINON
    		SQLInfoGene()
    		Erreur("La connexion à la source de données " + NomSource + ...
    			" a échoué."+RC+...
    			"Code erreur : " + SQL.Erreur +RC+...
    			SQL.MesErreur)	
    FIN
    Deja la je comprends pas, il me jette, je n'arrive pas à établir la connexion, pourquoi?

    - Ensuite j'execute ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HExécuteRequêteSQL (ReqTest, "SELECT Code FROM EQUIP")
    - Puis j'essaie d'afficher mon resultat dans mon composant tableau (nommé table dans windev, un peu chiant d'ailleurs, porte a confusion)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TableAjouteLigne(TABLE_MYSQL,ReqTest)
    - Et enfin je ferme ma connexion :

    Comment puis regler mon probleme de connexion qui ne reconnait pas ce que je lui met dans le NomSource?
    Comment afficher le resultat dans un tableau?
    Il n'y a rien a rajouter dans mon code vu que j'utilise du MySQL? Genre parametre ODBC...


    Merci pour votre aide.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Pour ta connexion, je n'en sais rien.
    Mais pour l'affichage des données dans la table, je t'ai donné la réponse.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Guardian Voir le message
    mais tu ne lis pas le résultat
    Tu veux dire que je ne lis pas le résultat, c'est pour ca que ca ne marche pas? Sinon le reste te parait bon mis a part que la connexion ne marche pas comme ca? J'ai été obliger de rajouter une "Source de données utilisateur" dans le Panneau de configuration > Outils d'administration > Source de données ODBC, ca me plait pas trop parce que je voulais quelque chose de modifiable à souhait dans le code pour changer comme je veux de source.

    Merci beaucoup.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    C'est bien ce que je veux dire

    Sinon, pour la connexion, tout doit pouvoir se paramètrer dans le code.

  7. #7
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par ThE bArJo Voir le message
    Concretement,
    - j'ai une BDD MySQL stocké sur un serveur distant, donc j'initialise ma connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    NumConnexion est un entier
    NomSource est une chaîne
    ReqTest est une Source de Données
     
    NomSource = "http://www.monsiteweb.com"
    NumConnexion = SQLConnecte(NomSource, "user", "pass","nomdemabase")
     
    SI NumConnexion<>0 ALORS
    	Info ("Connexion réussie")
    	SINON
    		SQLInfoGene()
    		Erreur("La connexion à la source de données " + NomSource + ...
    			" a échoué."+RC+...
    			"Code erreur : " + SQL.Erreur +RC+...
    			SQL.MesErreur)	
    FIN
    Sujet déjà évoqué plusieurs fois ! il faut que le port 3003 (par défaut mais peut êter différent) soit ouvert par le FAI de votre site WEB. Dans la majorité des cas il est bloqué.
    Emmanuel Lecoester
    => joomla addict.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    @elecoest : A quoi correspond ce port 3003???

    @Guardian : Ca serait un truc dans ce genre la ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    NumConnexion est un entier
    NomSource est une chaîne
    ReqTest est une Source de Données
     
    NomSource = "http://www.monsiteweb.com"
    NumConnexion = SQLConnecte(NomSource, "user", "pass","nomdemabase")
     
    SI NumConnexion<>0 ALORS
    	Info ("Connexion réussie")
    	SINON
    		SQLInfoGene()
    		Erreur("La connexion à la source de données " + NomSource + ...
    			" a échoué."+RC+...
    			"Code erreur : " + SQL.Erreur +RC+...
    			SQL.MesErreur)	
    FIN
     
    HExécuteRequêteSQL (ReqTest, "SELECT Code FROM EQUIP")
     
    // Code que j'ai rajouté pour afficher dans un tableau les resultats
    HLitPremier(ReqTest)
    TANTQUE PAS HEnDehors (ReqTest)
    	TableAjouteLigne(TABLE_MYSQL,ReqTest.Code)
    	HLitSuivant(ReqTest)
    FIN
     
    SQLDéconnecte()

    Merci.

  9. #9
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    3003 c'est le port par défaut de MySQL.

    Le problème que vous évoqué "Accéder à une base de données MySQL distante" a déjà été évoqué à plusieurs reprises.

    Emmanuel Lecoester
    => joomla addict.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Résolu avec l'aide de mon sauveur, elecoest!

    Merci beaucoup pour votre patience!

    Pour info : Problème de libmysql.dll non présente dans le répertoire WinDev.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2013, 00h48
  2. Réponses: 6
    Dernier message: 15/06/2010, 03h18
  3. [MySQL] Créer une table actuelle à partir d'une table historique
    Par cleminute dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2009, 14h35
  4. [AC-2007] Afficher dans un formulaire les données d'une table MySQL
    Par amazon dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/08/2009, 11h37
  5. recupérer les info d'une table X pour alimenter une table Y
    Par lemerite dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/09/2008, 11h31

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