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

ASP Discussion :

Erreur de syntaxe dans une requête


Sujet :

ASP

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Par défaut Erreur de syntaxe dans une requête
    Bonsoir tout le monde,

    Le programme m'affiche qu'il y'a une erreur de syntaxe dans la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    set cmd=Server.CreateObject("ADODB.COMMAND")
    cmd.ActiveConnection = con
    cmd.CommandText = "SELECT numChambre, id_Type, id_Disposition, etage FROM R_Chambres_Occupees WHERE etiquette='" & choix_hotel & "' and " & comparer_date( & "dateDebutOccupation" & ,dateDebutOccupationSaisie, & "dateFinOccupation" & )=-1 & "and " & comparer_date( & "dateDebutOccupation" & ,dateFinOccupationSaisie, & "dateFinOccupation" & )=-1 
    set tableau=cmd.Execute
    Où j'essai de tester la valeur de la fonction que j'ai défini dans mon programme et qui a la structure suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    comparer_date(date_debut,date_saisie,date_fin)
    si vous arrivez à identifier l'erreur je vous remercie d'avance de me le prèciser.

    Cordialement.

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write cmd.CommandText
    et tu verras vite ou est l'erreur


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Par défaut
    Je sais où est l'erreur mais je ne sais pas comment corriger, on me dit que l'erreur est ici: comparer_date( & au niveau de "( &"

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    cmd.CommandText = "SELECT numChambre, id_Type, id_Disposition, etage FROM R_Chambres_Occupees WHERE etiquette='" & choix_hotel & "' and " & comparer_date(dateDebutOccupation,dateDebutOccupationSaisie,dateFinOccupation) & "=-1 and " & comparer_date(dateDebutOccupation,dateFinOccupationSaisie,dateFinOccupation) & "=-1"
    %>

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Par défaut
    bien noté, mais comment le programme reconnaitra que dateDebutOccupation et dateFinOccupation sont des éléments de R_Chambres_Occupees?

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Il ne le saura pas !

    Je suppute que r_chambres_occupees est une vue et que comparer_date() est une fonction vbscript au niveau d'ASP ?

    Il serait intéressant que tu nous dises à quoi sert exactement comparer_date (du code !)


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Par défaut
    la fonction vérifie si date_saisie est compris entre date_debut et date_fin, et oui elle est écrite en VB au niveau du code ASP..le code n'est pas très interessant mais je vais le recopier:

    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
     
    function comparer_date(date_debut,date_saisie,date_fin)
     
    		JJdate_debut=day(date_debut)
    		MMdate_debut=month(date_debut)*30
    		AAdate_debut=year(date_debut)*356
    		DD=JJdate_debut+MMdate_debut+AAdate_debut
     
    		JJdate_saisie=day(date_saisie)
    		MMdate_saisie=month(date_saisie)*30
    		AAdate_saisie=year(date_saisie)*356
    		DS=JJdate_saisie+MMdate_saisie+AAdate_saisie
     
    		JJdate_fin=day(date_fin)
    		MMdate_fin=month(date_fin)*30
    		AAdate_fin=year(date_fin)*356
    		DF=JJdate_fin+MMdate_fin+AAdate_fin
     
    		if (DS<=DF and DS>=DD) then
    			comparer_date=1
    		else
    			comparer_date=-1
    		end if
     
    end function
    comme vous pouvez le deviner date_saisie est recupérée à partir du site et date_debut et date_fin sont enregistrées au niveau de la base de données.

    J'espère que le problème est bien clair maintenant.

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    DateDiff devrait faire ton bonheur non? http://www.w3schools.com/Vbscript/vb...tions.asp#date

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je pense que ta fonction n'est pas adaptée à ton besoin :
    il faut comparer les dates au niveau SQL, et pas asp.
    La date enregistrée dans la BD a un format spécifique (ex :JJ/MM/AAAA)
    (dépend du format "date" défini dans la BD : regarde dans ta BD comment les dates sont enregistrées)

    Il te faut une fonction qui transforme les dates saisies "asp" en date au format SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%
    function dateSQL(ladate)
    	ladate --> transforme la date saisie au format SQL (ex : de la forme JJ/MM/AAAA)
    end function
    %>
    Et dans la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%
    cmd.CommandText = "SELECT numChambre, id_Type, id_Disposition, etage FROM R_Chambres_Occupees WHERE etiquette='" & choix_hotel & "' AND (" & dateSQL(dateDebutOccupationSaisie) & " BETWEEN dateDebutOccupation AND dateFinOccupation) AND (" & dateSQL(dateFinOccupationSaisie) & " BETWEEN dateDebutOccupation AND dateFinOccupation)"
    %>

  10. #10
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    (dépend du format "date" défini dans la BD : regarde dans ta BD comment les dates sont enregistrées)
    Il me semble bien que dans tous les cas l'interpretation de la requete SQL transforme les dates au format US.
    "Winter is coming" (ma nouvelle page d'accueil)

  11. #11
    Invité
    Invité(e)
    Par défaut
    Possible.
    Mais on ne sait pas à quoi ressemblent les variables dateDebutOccupationSaisie et dateFinOccupationSaisie !

Discussions similaires

  1. Erreur de syntaxe dans une requête
    Par mercure07 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 26/06/2009, 14h34
  2. Erreur de syntaxe dans une requête
    Par Equinoxe5 dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/04/2009, 14h09
  3. Réponses: 8
    Dernier message: 09/09/2008, 10h28
  4. Erreur de syntaxe dans une requête SQL
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 08/01/2008, 18h19
  5. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 13h50

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