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 :

je ne sais pas pourquoi ce code ca marche pas


Sujet :

ASP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut je ne sais pas pourquoi ce code ca marche pas
    Bonjour tlm, je ne sais pas pourquoi ce code ca marche pas chez moi
    il me donne aucune erreur juste une blanche page
    date_jour c'est le jour ou la commande est passée et biensur j'ai des commandes passée aujourd'huit, mais il les affichent pas.

    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sql="select * from command where date_jour=" & date
    set rs=server.CreateObject("adodb.recordset")
    rs.open sql,DBASE
     
    do while not  rs.eof
      response.write rs("num_com") &"<br>"
      rs.movenext
      loop
    quelqu'un peut m'aider?

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Je suppose que tu interroges une table DBASE ?

    Tu fais un response.write sql après la ligne
    sql="select * from command where date_jour=" & date
    et tu la testes directement sous DBASE ...

  3. #3
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    Bonjour,

    As tu bien vérifié que tes deux dates soient du même format ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut
    Bonjour, oui ils sont de meme type et pour la table c'est "Command" et "DBASE" c'est la chaine de connexion.
    bon voila le vrai code que je mets
    dans la page admin.asp:

    Code asp : 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
     
    if request.Form("submit1")="Envoyer" then
    response.Cookies("ajrd")=date
    response.Redirect("voircommandes.asp?date=ajrd")
    else if request.Form("submit2")="Envoyer" then
    response.Cookies("hier")=date-1
    response.Redirect("voircommandes.asp?date=hier")
    else if request.Form("submit3")="Envoyer" then
    response.Cookies("date1")=request.Form("date1")
    response.Cookies("date2")=request.Form("date2")
    response.Redirect("voircommandes.asp?date=between")
    else if request.Form("submit5")="Envoyer" then
    response.Cookies("choix")=request.Form("choix")
    response.Redirect("voircommandes.asp?date=choix")
    else if request.Form("submit4")="Envoyer" then
    response.Cookies("nom")=request.Form("nom")
    response.Redirect("voircommandes.asp?nom=nom")
    end if
    end if
    end if
    end if
    end if


    La page voircommandes.asp:

    Code asp : 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
     
    if request.QueryString("date")="between" then
    d1=request.Cookies("date1")
    d2=request.Cookies("date2")
    sql="select * from command where Date_envoi between "&d1&" and "&d2
    DBASE.execute sql
    set rs=server.CreateObject("adodb.recordset")
    rs.open sql,DBASE
    do while not rs.eof
    response.write rs("nom")
    rs.movenext
    loop
    else if request.QueryString("date")="ajrd" then
    ajrd=request.Cookies("ajrd")
    sql="select * from command where date_jour=" & ajrd
    DBASE.execute sql
    set rs=server.CreateObject("adodb.recordset")
    rs.open sql,DBASE
    do while not rs.eof 
    response.write rs("nom")
    rs.movenext
    loop
     
    else if request.QueryString("date")="hier" then
    hier=request.Cookies("hier")
    response.Write(hier)
    else if request.QueryString("date")="choix" then
    choix=request.Cookies("choix")
    response.Write(choix)
    else if request.QueryString("nom")="nom" then
    nom=request.Cookies("nom")
    response.Write(nom)
    end if
    end if
    end if
    end if
    end if


    -------------
    La prochaine fois utilise la balise code (#) c'est fait pour ça
    Kaiser59

  5. #5
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Tout d'abord deux remarques :
    1 - Evite d'utiliser des noms de variables qui pourrait porter confusion avec les mots propres à l'asp ou au requête tel que "date", "between" etc...

    2 - J'ai corrigé ms évite d'ouvrir et de fermer l'asp à tout bout de champ alors que tu continue ton code avec de l'asp sa fait ralentir l'affichage de la page

    Tu dis que cela ne marche pas, qu'elle est le message d'erreur affiché alors ?
    Tes date sont en quel format d1 et d2 (jj/mm/aaaa, mm/jj/aaaa...) ? Car sql compare tes dates si je me souviens bien, dites moi si je me trompe, au format mm/jj/aaaa
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut recherche par date
    Bonjour, tlm
    j'ai une base de donnée et j'ai un champ "d_com" de type date, il recupere la date de jour ou les commandes passent.
    je veux faire un appel des commandes par date comme une recherche.
    j'ai fait ce code mais ca marchait pas.
    base de donnée sql server
    format de date jj/mm/aaaa.
    voila la chaine de connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%
    Set DBase = Server.CreateObject("ADODB.Connection")
    DBase.Open "driver={SQL Server}; server=(local);uid=SA;pwd=031983;database=MABASE"
    %>
    voila le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%
    sql="select * from command where d_com="& date
    set rs=server.CreateObject("ADODB.Recordset")
    rs.open sql,DBASE
    do while not  rs.eof
     response.Write(rs("num_com"))%><br>
       <%rs.movenext
    	  loop%>
    a vous de voir
    merci infiniment

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

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

    Qu'est ce qui ne marche pas ?

    date te renvoie effectivement au format jj/mm/aaaa

    sql (le langage) considère en principe les dates au format mm/jj/aaaa (format américain, eh oui !)

    Bon, ceci dit, je ne pratique pas trop SQL server, mais plusieurs pistes, la première :

    Perso, j'ai pris l'habitude :
    1/ de systematiquement convertir les dates au format mm/jj/aaaa
    2/ d'encadrer les dates par des #

    ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql="select * from command where d_com=#"& dateAm(date) & "#"
    (Je te laisse le soin d'écrire dateAm()


    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.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut
    Bonjour
    voila ce que me donne quand je mets les "#"
    [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '#'.
    pour la dateam ca marchait pas. Vous dites que sql prend par defaut la date americaine mais chez moi non il prend la date de format jj/mm/aaaa.
    pour la response.write(sql) la voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from command where d_com=22/11/2007
    mais le bizzare c'est quand je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql="select * from command where d_com=d_com"
    quand je mets le nom de column= le nom de column
    il m'affiche toutes les enregistrements.
    vraiment je ne sais pas que dois je faire

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    1/ Pour les #, c'est peut-etre spécifique à Access, à dire vrai je n'en sais rien (encore une fois, je ne pratique pas trop SQLserver). Le principe serait de construire une requete comme ceci :
    select * from command where d_com=#11/22/2007#

    2/ Pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from command where d_com=22/11/2007
    Il te retourne tous les enregistrements, c'est normal puisque la clause where est toujours vérifiée

    3/ En ce qui concerne ton problème, essaie de construire ta requete comme ceci, alors :
    sql="select * from command where date_jour='" & ajrd & "'"

    (sans garantie du resultat)


    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.

  10. #10
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Du point de vue des dates je trouve MSSQL vraiment trop nul dessus car assez étrange pour ma part la manip des dates lors des requêtes.

    Regarde du côté de datediff cela devrait répondre à ta question
    Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir ! // Essayez d'expliquer, de la façon la plus claire possible votre problème. // Parfois une image vaut mieux qu'un long discours

    FAQ ASP

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut
    C'est bizzare tout ça, ca marchait pas avec les "#" je sais que ca marche bien avec les "#" en Access mais l'Access ne permet pas de passer plusieurs commandes a la fois pas comme sql server, je ne sais pas ou est le probleme.
    J'ai meme fait des requêtes sur sql query analyzer :
    j'ai fait directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * from command
    where d_com='2007-11-22'
    ca marchait LOL j'etais entrain d'ecrire et de tester en meme temps.
    Voila ce code ca marchait dans sql query analyzer et sur ma page asp aussi
    meme ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * from command
    where d_com between '2007-11-21' and '2007-11-23'
    maintenant le probleme que j'ai c'est lorsque je teste avec la date du jour il fait rien parce que il prends la date de format jj-mm-aaaa.
    Mais le bizzare c'est quand j'ouvre ma base de données je trouve la date en format jj/mm/aaaa, et quand je fais l'affichage en sql query analyzer il affiche la date avec le format aaaa-mm-jj.
    Maintenant il me faut trouver comment convertir ma date en aaaa-mm-jj.
    j'espere que c'est un peu claire
    j'attends vos reponses kaiser et roro
    A+

  12. #12
    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 506
    Points
    9 506
    Par défaut
    Salut,
    Citation Envoyé par debutantasp Voir le message
    Maintenant il me faut trouver comment convertir ma date en aaaa-mm-jj
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    year(date()) & "-" & month(date()) & "-" & day(date())
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut
    n'est pas encore resolu
    lorsque je teste le code que vous m'avez donné, tt seul il m'affiche 2007-11-22 mais quand je l'affecte a ma variable date je trouve sur ma base de données qu'il a appris dans ce format 22/11/2007 je ne sais pas pourquoi, meme j'ecrivais 2007-11-22 dans un champ de texte et je l'ai trouvais comme ca 22/11/2007
    est ce que ca va marcher si je la declare comme varchar?

  14. #14
    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 506
    Points
    9 506
    Par défaut
    Salut,

    Non, non, laisse le format date. Ne t'inquiete pas l'affichage de la date dépend des paramètres regionaux de Windows qui pour toi doivent être en français. Laisse SQL faire sa sauce. Par contre envoi lui tjrs la date au format US dans tes requetes SQL.

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

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut Merci
    Salut tlm
    Enfin je suis arrivé a resoudre le probleme de la date.
    Merci a vous et a Immobilis.
    En fait MSSQL prend le ' en place du #
    je vais vous montrer le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <%
    d=year(date()) & "-" & month(date()) & "-" & day(date())
    sql="select * from command where d_com='" & d & "'"
    set rs=server.CreateObject("ADODB.Recordset")
    rs.open sql,DBASE
    do while not  rs.eof
     response.Write(rs("num_com"))%><br>
       <%rs.movenext
    	  loop 
    	response.Write(sql)
    %>
    Voila le response.write(sql) ce qui a donné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from command where d_com='2007-11-23'
    Et voila mon probleme est resolu, je vous remercie.Mais j'en ai bcp d'autre
    Alors on se voit dans un nouveau poste et un nouveau probleme.
    A+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/05/2014, 15h28
  2. [AC-2007] pourquoi mon code ne marche pas
    Par erebios dans le forum VBA Access
    Réponses: 16
    Dernier message: 04/05/2010, 23h43
  3. je ne sais pas pourquoi ce code ne marche pas!
    Par hindou90 dans le forum C
    Réponses: 3
    Dernier message: 15/01/2010, 10h59
  4. diaporama: pourquoi mon code ne marche pas
    Par secondechance dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/05/2009, 02h04
  5. Réponses: 2
    Dernier message: 31/07/2006, 08h48

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