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 :

[Requête SQL] fonctionne en WD10 pas en WD9


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut [Requête SQL] fonctionne en WD10 pas en WD9
    Bonjour,

    Nous avons une application développée sous Windev9. nous n'avons ni l'environnement de développement Windev9 ni windev10. nous avons qu'un exécutable pour lancer l'application et des .dlls et bien sur des fichiers de données .fic et d'index .ndx.

    actuellement je teste une version nouvelle de l'application (celle-ci est développée sous windev10) mais nous travaillons toujours avec l'ancienne version (développée sous windev9).

    J'ai écris un programme en WLangage contenant des requetes SQL pour extraire des données de mes tables.

    ce programme s'éxécute bien sous la nouvelle version (développée sous windev10) mais lorsque je le lance sous l'ancienne version j'ai un message d'erreur.

    mon programme est le suivant:
    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
    29
     
     
    //Exportation de la table Benevoles
    ligne est une chaîne
    i est un entier
    req est une source de données
    idfich est un entier
     
    //création du fichier dans lequel nous allons stocker les données extraites
    idfich=fOuvre("\\monServ\temp\exportBenevoles.txt",foCréation+foEcriture)
    SI idfich=-1 ALORS 
    	Erreur("Erreur lors de la création du fichier")
    	RETOUR
    FIN
    //ligne d'entete
    ligne="idBenevole"+TAB+"Nom"+TAB+"Prenom"+TAB+"telephone"+TAB+"adresse"+TAB+"codePostal"+TAB+"ville"+RC
    fEcrit(idfich, ligne)
    HExécuteRequeteSQL(req, hRequêteDefaut,...
    	"SELECT idBenevole, Nom, Prenom, telephone, adresse, codePostal, ville FROM Benevoles WHERE dateDerniereMission >= 20050601")
    POUR TOUT req
    	ligne=req.idBenevole+TAB+req.Nom+TAB+req.Prenom+TAB+...
    	req.telephone+TAB+req.adresse+TAB+req.codePostal+TAB+...
    	req.ville+RC
    	fEcrit(idfich, ligne)
    	i++
    FIN
     
    fFerme(idfich)
    Info("Traitement fini!"+RC+"Nombre d'enregistrement: "+i)
    le message d'erreur sous la version en windev9 est le suivant:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    Erreur à la ligne 18 du traitement procext.
    Le mécanisme de sécurité Hyper File s'est déclenché lors d'un parcours intégré du fichier 'req' sur la rubrique ''.
    Fichier <req> inconnu dans l'analyse <C:\MES PROJETS\dmg\appli.wdd>, ou requête ou vue non initialisée.
     
     
    **********************************************
     
    Informations techniques
     
    Projet : appli
     
    Dump de l'erreur du module <WD90HF.DLL> <9.00Df>.
     
    - Appel WL :
    Traitement de <procext>, ligne <18>, thread <0>
     
    - Niveau : erreur fatale (EL_FATAL)
     
    - Code erreur : 70018
     
    - Code erreur WD55 : 18
     
    - Pas de code d'erreur système
     
    - Pas de message d'erreur système
     
    - Que s'est-il passé ?
    Le mécanisme de sécurité Hyper File s'est déclenché lors d'un parcours intégré du fichier 'req' sur la rubrique ''.
    Fichier <req> inconnu dans l'analyse <C:\MES PROJETS\dmg\appli.wdd>, ou requête ou vue non initialisée.
     
    - Infos de debug :
    iehf=1001
     
    - Infos attachées :
    EIT_PATHWDD : <C:\MES PROJETS\dmg\appli.wdd>
    EIT_LOGICALTABLENAME : <req>
    EIT_DATEHEURE : 04/12/2006 15:55:06
    EIT_PILEWL :
      procext (procext), ligne 18
     
    - Identifiant dans le .err : 70116

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    l'eereur est dans la requete. le problème c'est que le champ "dateDerniereMission" est une date sous forme JJ/MM/AAAA.
    je ne sais pas comment faire pour comparer deux dates dans le langage SQL de HF (contenu dans la version Windev 9).
    même en utilisant la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT idBenevole, Nom, Prenom, telephone, adresse, codePostal, ville FROM Benevoles WHERE dateDerniereMission >= 01/06/2005"
    j'ai un message d'erreur.
    idem pour la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT idBenevole, Nom, Prenom, telephone, adresse, codePostal, ville FROM Benevoles WHERE dateDerniereMission >= "+ ChaîneVersDate ("01-01-2005")
    aidez moi svp

    Merci

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Ok.

    Premier point c'est qu'il faut déja amorcer la requete avec un HlitPremier(req).

    Ensuite il serait préférable de faire :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Si HExecuteRequeteSql(....) ALORS
         HlitPremier(req)
         Tantque Pas HEnDehors(req)
              HlitSuivant(req)
        FIN
        HAnnuleDeclaration(req)
    SINON
          Erreur(ErreurInfo(ErrComplet)
    FIN

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    j'ai fait ça mais j'ai le meme message d'erreur.

    au fait je ne sais pas formuler une requete SQL HF (sous windev9) qui compare un champ d'une table qui est une date sous forme JJ/MM/AAAA à une autre date

    alors que sous SQL HF (windev10) la requete:
    SELECT .... FROM benevoles WHERE dateDerniereMission >= 20050601 marche.

    le champ dateDerniereMission de la table benevoles est une date sous forme JJ/MM/AAAA

Discussions similaires

  1. [WD16] requête sql fonctionne pas
    Par T1929D dans le forum WinDev
    Réponses: 3
    Dernier message: 26/07/2013, 08h37
  2. requête SQL qui ne marche pas en tant que vue (view)
    Par charlesz dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/08/2008, 14h25
  3. Ma requête SQL SELECT ne passe pas dans next()
    Par Somato dans le forum Bases de données
    Réponses: 17
    Dernier message: 02/06/2008, 15h45
  4. [MySQL] Ma requête SQL fonctionne pas bouuh
    Par CAMB3L dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/04/2007, 19h06
  5. erreur de requête SQL avec ASP mais pas dans Access
    Par csszzen dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/03/2007, 09h07

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