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 du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    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
    Points : 1 978
    Points
    1 978
    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

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    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 du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    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
    Points : 1 978
    Points
    1 978
    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 !)

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 195
    Points : 62
    Points
    62
    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 éminent
    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
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

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

    A+

  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 éminent
    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
    Points : 9 512
    Points
    9 512
    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.

  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