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 :

Syntaxe incorrecte vers 'where'.


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Syntaxe incorrecte vers 'where'.
    je sais pas ou se trove l'erreu aidez moi svp

    <%

    poste = "'" & Replace(Request("lstcrt"), "'", "''") & "'"
    sql="select * from INSCRIPTION where "
    select case poste
    case "Derniers 30 jours"
    sql = sql & " DateInscription <= #"& date()-30 &"# "
    case "annes deniere"
    sql = sql & " DateInscription <=# "& date()-365 &"# "
    end select
    Set Connection = CreateObject("ADODB.Connection")
    Connection.Open "Driver={SQL Server};" & _
    "Server=CDM815SRV02;" & _
    "Database=stage;" & _
    "Uid=stage;" & _
    "Pwd=stage"
    Set RS = CreateObject("ADODB.Recordset")
    RS.Open sql, Connection, 3,3




    %>

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

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Tu as fais deux erreur de syntaxe.
    Pour poste et pour les case.
    Pour poste : c'est pas la peine de rajouer le " ' ", car c'est déjà une chaine, donc tu peux suprimer les replaces.

    Donc la correction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    poste = Request("lstcrt")
    Pour Case:

    Il faut rajouer un ":" à la fin d'un case

    Correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case "Derniers 30 jours" :
    Après modification de ton code.

    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
    <% 
     
    poste = (Request("lstcrt") 
    sql="select * from INSCRIPTION where " 
    select case poste 
    case "Derniers 30 jours" :
    sql = sql & " DateInscription <= #"& date()-30 &"# " 
    case "annes deniere" :
    sql = sql & " DateInscription <=# "& date()-365 &"# " 
    end select 
    Set Connection = CreateObject("ADODB.Connection") 
    Connection.Open "Driver={SQL Server};" & _ 
    "Server=CDM815SRV02;" & _ 
    "Database=stage;" & _ 
    "Uid=stage;" & _ 
    "Pwd=stage" 
    Set RS = CreateObject("ADODB.Recordset") 
    RS.Open sql, Connection, 3,3 
     
     
     
     
    %>
    Si tu as un autre problème sur cette page fait moi signe.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Mimo
    Bonjour,

    Tu as fais deux erreur de syntaxe.
    Pour poste et pour les case.
    Pour poste : c'est pas la peine de rajouer le " ' ", car c'est déjà une chaine, donc tu peux suprimer les replaces.

    Donc la correction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    poste = Request("lstcrt")
    Pour Case:

    Il faut rajouer un ":" à la fin d'un case

    Correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case "Derniers 30 jours" :
    Après modification de ton code.

    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
    <% 
     
    poste = (Request("lstcrt") 
    sql="select * from INSCRIPTION where " 
    select case poste 
    case "Derniers 30 jours" :
    sql = sql & " DateInscription <= #"& date()-30 &"# " 
    case "annes deniere" :
    sql = sql & " DateInscription <=# "& date()-365 &"# " 
    end select 
    Set Connection = CreateObject("ADODB.Connection") 
    Connection.Open "Driver={SQL Server};" & _ 
    "Server=CDM815SRV02;" & _ 
    "Database=stage;" & _ 
    "Uid=stage;" & _ 
    "Pwd=stage" 
    Set RS = CreateObject("ADODB.Recordset") 
    RS.Open sql, Connection, 3,3 
     
     
     
     
    %>
    Si tu as un autre problème sur cette page fait moi signe.
    merci beaucoup mail il y'a encore un erreur syntaxe incorrecte vers #

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 61
    Points : 24
    Points
    24
    Par défaut
    deja juste apres ton poste= tu ouvres 2 parentheses et t'en ferme k'une,
    ensuite il te manke des quotes pour evaluer ta chaine date, mais chui pas sur a 100% pour ca

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par lepeintre
    Citation Envoyé par Mimo
    Bonjour,

    Tu as fais deux erreur de syntaxe.
    Pour poste et pour les case.
    Pour poste : c'est pas la peine de rajouer le " ' ", car c'est déjà une chaine, donc tu peux suprimer les replaces.

    Donc la correction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    poste = Request("lstcrt")
    Pour Case:

    Il faut rajouer un ":" à la fin d'un case

    Correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case "Derniers 30 jours" :
    Après modification de ton code.

    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
    <% 
     
    poste = (Request("lstcrt") 
    sql="select * from INSCRIPTION where " 
    select case poste 
    case "Derniers 30 jours" :
    sql = sql & " DateInscription <= #"& date()-30 &"# " 
    case "annes deniere" :
    sql = sql & " DateInscription <=# "& date()-365 &"# " 
    end select 
    Set Connection = CreateObject("ADODB.Connection") 
    Connection.Open "Driver={SQL Server};" & _ 
    "Server=CDM815SRV02;" & _ 
    "Database=stage;" & _ 
    "Uid=stage;" & _ 
    "Pwd=stage" 
    Set RS = CreateObject("ADODB.Recordset") 
    RS.Open sql, Connection, 3,3 
     
     
     
     
    %>
    Si tu as un autre problème sur cette page fait moi signe.
    merci beaucoup mail il y'a encore un erreur syntaxe incorrecte vers #
    we j l'ai dejea remarque mais l'erreur et tjour la je crois que c le syntaxe de select case je sais pas

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    voila j'ai ce code mais ya aussi un probleme ca me donne cette erreur

    Syntaxe incorrecte vers '#'.

    <%
    poste = Replace(Request("lstcrt"), "'", "''")
    dat30=day(date-30)&"/"&month(date-30)&"/"&year(date-30)
    dat365=day(date)-1&"/"&month(date)&"/"&year(date)
    response.write poste&"<hr>"
    sql="select * from INSCRIPTION"
    select case poste
    case "Derniers 30 jours"
    response.write "Passé dans Derniers 30 jours<hr>"
    sql = sql & " where DateInscription <=#"&dat30&"#"
    case " derniere annee"
    response.write "Passé dans Derniere annee<hr>"
    sql = sql & " where DateInscription <=#"&dat365&"#"
    end select
    Set Connection = CreateObject("ADODB.Connection")
    Connection.Open "Driver={SQL Server};" & _
    "Server=CDM815SRV02;" & _
    "Database=stage;" & _
    "Uid=stage;" & _
    "Pwd=stage"
    Set RS = CreateObject("ADODB.Recordset")
    response.write sql&"<hr>"
    RS.Open sql, Connection, 3,3
    if RS.RecordCount = 0 then
    Response.Redirect "erreur1.html"
    end if
    %>

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Juste une truc.

    Pour JetSql il faut mettre les # pour les dates.

    Mais pour SQLServeur il faut mettre ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT     * FROM         Employees WHERE     (BirthDate < '08/12/2004')

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    merci mais c pas ca le probleme
    le probleme syntaxe incorrect vers #

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Tu es en train de dire que le # te pose problème.

    Et moi je t'ai dis que le # ne fonctionne pas sous SQLServer


    Lance un essai via L'analyseur de requete et tu vas voir si c'est correct ou pas.

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    merci pour ton interet
    propose moi une solution je suis maintenant bloque
    je travaille en asp et j'utilise comme base sql server
    mon champ dateinscription et de type datetime
    et voila mon code asp

    <%
    poste = Replace(Request("lstcrt"), "'", "''")
    dat30=day(date-30)&"/"&month(date-30)&"/"&year(date-30)
    dat365=day(date)&"/"&month(date)&"/"&year(date)-1
    response.write poste&"<hr>"
    sql="select * from INSCRIPTION where"
    select case poste:
    case "Derniers 30 jours"
    response.write dat30
    sql = sql & " DateInscription <= #"&dat30&"# "
    case "annes deniere":
    response.write dat365
    sql = sql & " DateInscription <= #"&dat365&"#"
    end select
    Set Connection = CreateObject("ADODB.Connection")
    Connection.Open "Driver={SQL Server};" & _
    "Server=CDM815SRV02;" & _
    "Database=stage;" & _
    "Uid=stage;" & _
    "Pwd=stage"
    Set RS = CreateObject("ADODB.Recordset")
    response.write sql&"<hr>"
    RS.Open sql, Connection, 3,3
    if RS.RecordCount = 0 then
    Response.Redirect "erreur1.html"
    end if
    %>
    c pas assez complique mais lor de l'execution c ca l'erreur
    syntaxe incorect ver #
    [/quote]

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Essaye ceci :

    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
     
    <% 
    poste = Replace(Request("lstcrt"), "'", "''") 
    dat30=day(date-30)&"/"&month(date-30)&"/"&year(date-30) 
    dat365=day(date)&"/"&month(date)&"/"&year(date)-1 
    response.write poste&"<hr>" 
    sql="select * from INSCRIPTION where" 
    select case poste: 
    case "Derniers 30 jours" 
    response.write dat30 
    sql = sql & " DateInscription <= '"&dat30&"'" 
    case "annes deniere": 
    response.write dat365 
    sql = sql & " DateInscription <= '"&dat365&"'" 
    end select 
    Set Connection = CreateObject("ADODB.Connection") 
    Connection.Open "Driver={SQL Server};" & _ 
    "Server=CDM815SRV02;" & _ 
    "Database=stage;" & _ 
    "Uid=stage;" & _ 
    "Pwd=stage" 
    Set RS = CreateObject("ADODB.Recordset") 
    response.write sql&"<hr>" 
    RS.Open sql, Connection, 3,3 
    if RS.RecordCount = 0 then 
    Response.Redirect "erreur1.html" 
    end if 
    %>

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    we merci beaucoup ca marche au moin y'a pes d'erreur mais le resultat
    n'est pas encore correcte

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Mais juste un truc

    <=date30 = date-30 + date-365

    Donc pour afficher l'intervalle -30 et -365 tu dois mettre des limite a ta condition.

    du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateInscription <= '"&dat30&"'"  and DateInscription > '"&dat365&"'"

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    merci beaucoup mais derniere question
    je veux afficher le derniers inscrit ces 30 jours
    j'ai besoin d'un date systeme je crois pour faire la difference entre la date actuelle et ici 30jours

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Pour les 30 dernier jours c'est le même principe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateInscription <= '"&dat&"'"  and DateInscription > '"&dat30&"'"
    Et bien sûr on utilisant la date système.
    Ou bien carrement la date SqlServer si tu veux.

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    thanks

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

Discussions similaires

  1. [SQL-Server] Syntaxe incorrecte vers 'from'
    Par lobna.tn dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/09/2009, 12h41
  2. erreur du type syntaxe incorrecte vers '='
    Par Djclo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/11/2008, 11h03
  3. Syntaxe incorrecte vers ')'
    Par Nako_lito dans le forum Services Web
    Réponses: 2
    Dernier message: 16/06/2008, 12h31
  4. Syntaxe incorrecte vers le mot clé 'case'.
    Par anayathefirst dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/08/2007, 19h25

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