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 :

Utiliser les fonctions de mysql [WD16]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut Utiliser les fonctions de mysql
    (re)Bonjour, j'ai regarder sur la doc mais je ne trouve pas de solution. Voici la requete que j'ai faite sous mysql :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TO_DAYS(expirationDate) - TO_DAYS(NOW()) AS JoursRestants, domain, expirationDate
    FROM info_domaine_ovh
    WHERE TO_DAYS(expirationDate) - TO_DAYS(NOW()) BETWEEN 0 AND 31

    Ce que je veut c'est la liste des domaines qui vont expirer dans moins de 31 jours. Peut etre que je m'y prend mal. En tout cas je n'est pas trouver l'equivalent de TO_DAYS() ni de NOW() en windev ce qui me semble etonnant (du moins pour le NOW()).

    Voici la page que j'avais trouvé : http://doc.pcsoft.fr/fr-FR/?2034005

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 438
    Par défaut
    Bonjour,
    Si cette requête fonctionne, où est le problème ? Tu la lances avec SqlExec ou hExecuteRequeteSql(hRequeteSansCorrection), et ça roule.

    Tatayo.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut
    Bonjour tatayo,

    il est vrai que si je n'est pas expliquer assez clairement mon problème il sera dur de m'apporter une solution. Le problème c'est que la requête marche dans MySql (du moins via PhpMyAdmin) mais cette même requête dans windev trouve des erreurs. A noter que j'ai crée un fichier "Requête" car sont utilisation va être utiliser à plusieurs endroits dans le logiciel.

    Explication en image : Nom : pbSql.JPG
Affichages : 180
Taille : 50,1 Ko

    Il semblerai que sa ne soit pas TO_DAYS() qui pose problème mais NOW(). Il doit surement exister l’équivalent ou une syntaxe particulière pour cette fonction sous windev mais je ne trouve pas laquelle, d'où ma demande d'aide auprès de vous.

    Sanna

  4. #4
    Membre expérimenté

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2010
    Messages : 125
    Par défaut
    Bonjour,

    Effectivement l'intsruction To_DAYS(NOW()) n'est pas reconnue en natif.
    Par contre , tu ne pourras l'utiliser par le requeteur Windev, mais cela doit marcher par hexecuterequetesql avec l'option hrequetesanscorrection...

    Voir l'aide sur la syntaxe si tu ne l'as pas déjà utilisé...
    Cela devrait peut etre marché également depuis l'editeur de requete en reglant cette option dedans... jamais testé. Mais avec le hexecuterequetesql, c'est certain que ça passe...

    Cordialement,

    Laurent B.

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 402
    Par défaut
    +1 pour Tatayo.

    Passes par SQLExec(..) et tes problèmes se régleront

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Par défaut
    Bonjour,

    essayes avec sysdate.

    à bientôt,

    Nicolas

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Par défaut
    Bonjour, SYSDATE semble correspondre à ce que je cherche. Bon a priori j'ai une erreur "UNKNOW COLUMN" mais bon la j'ai une direction dans laquellechercher donc sa ira. Merci.

    Sinon merci pour le hExecuteRequeteSql(), c'est la fonction que j'utilise habituellement. Je tenterai avec cela si SYSDATE ne donne rien (avoir une requête en fichier m'arrangerai dans ce cas).

    NB : Et bien il semble que vos trois solutions marche, en effet une fois le hSansCorrection coché dans les options de la requête, plus d'erreur. Je savais que cette constante (constante ou flag ?) empêcher l'apparition de certaine erreur mais je ne savait pas que sa disait à windev de ne plus tenir compte de la syntaxe de la requête.

    Merci a vous 4.


    EDIT : cochez hSansCorrection dans la description de la requête corrige le problème lorsque l'on teste la requête mais une fois lié à une liste, l'erreur revient (en même temps l'option s’appelle "HSansCorrection en mode test"). Juste pour le signaler à quelqu'un qui tomberai sur ce post dans le futur.

  8. #8
    Membre Expert
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 393
    Par défaut
    Bonjour

    Tu dois utliser HExécuteRequêteSQL dans le paramètre HSansCorrection

    Pour cela il ne faut pas utiliser une requête "graphique" mais coder directement ton sql dans le code, ou récupérer le code d'une requête graphique avec la propriété ..CodeSQL

    Ensuite SqlExec ou HExécuteRequêteSQL + HSansCorrection, à toi de choisir, les deux fonctionneront

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

Discussions similaires

  1. MySQL utiliser les fonctions "string"
    Par suntsu dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 16/04/2008, 21h42
  2. comment utiliser les fonctions d'une dll
    Par sebled dans le forum MFC
    Réponses: 3
    Dernier message: 24/02/2006, 16h59
  3. [Conception] Utiliser les fonctions des tableaux ou plusieurs requêtes ?
    Par Derik dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 01/02/2006, 09h54
  4. Réponses: 3
    Dernier message: 31/12/2005, 23h09
  5. Réponses: 11
    Dernier message: 22/12/2003, 21h06

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