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 :

Querystring ==> type incompatible


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut Querystring ==> type incompatible
    Re_bonjour,

    j'ai un ptit problême (evidemment).

    Je passe une valeur ds la barre d'adresse en l'occurence un chiffre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://mapage.asp?carte=0.5&num=6
    et j'obteinet l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Erreur d'exécution Microsoft VBScript error '800a000d'
     
    Type incompatible: 'numcarte'
    mapage.asp, line 95
    et a la ligne 95 il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if numcarte=4 or numcarte=3.5 then
      carte_img="/images/carte_sud.jpg"
    end if
    if numcarte=3 or numcarte=2.5 then
      carte_img="/images/carte_tout.jpg"
    end if
     
    etc etc...
    en sachant qu'il y a cette ligne avant dans la page bien sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numcarte=request.querystring("carte")
    j'avoue que je comprend pas pourqu'oi ca marche pas...

  2. #2
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    remplace le point par une virgule.
    Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Points : 414
    Points
    414
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numcarte=request("carte")

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    J'ai remplacé le test avec une virgule je lui est envoyé une valeur avec la virgule et ca donne ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Erreur de compilation Microsoft VBScript error '800a03f9'
     
    'Then' attendu
     
    carte_reservation.asp, line 95
     
    if numcarte=4 or numcarte=3,5 then
    ---------------------------^
    J'ai aussi enlevé le querystring comme la dit gwenn ms pas mieu.

    Ce qui m'éttonne c'est que j'ai suivi un scripte que j'avais vu ou apparremment les "." ne posaient pas de problême.

    Je reste perplexe, c'es la poisse de ne pas reussir a passer une valeur quand même... snifff (ca va être bo quand je tenterai des trucs compliqués)

  5. #5
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    tente avec la virgule et tu mets :
    if numcarte="4" or numcarte="3,5" then
    Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 247
    Points : 99
    Points
    99
    Par défaut
    Tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    numcarte=CINT(request.querystring("carte"))

    Ou bien tu peux tout simplement essayer en mettant des guillemets dans des conditions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if numcarte="4" or numcarte="3.5" then
      carte_img="/images/carte_sud.jpg"
    end if
    Perso j'ai testé avec les guillemets et ça marchait...

    Bon courage ;-)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 247
    Points : 99
    Points
    99
    Par défaut
    Citation Envoyé par flogreg
    tente avec la virgule et tu mets :
    if numcarte="4" or numcarte="3,5" then
    Tu m'as devancé de peu lol !

    Citation Envoyé par Kara
    Je reste perplexe, c'es la poisse de ne pas reussir a passer une valeur quand même... snifff (ca va être bo quand je tenterai des trucs compliqués)
    T'inquiète pas, perso, c'est avec les choses les plus simples avec lesquelles j'ai le plus de pbs !

  8. #8
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par pekka77
    Tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    numcarte=CINT(request.querystring("carte"))
    CINT ne marchera surement pas. Il faut le faire avec CDBL je pense car il y a une décimale.
    Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Heu, jvai paraître chiant...

    Avec le CINT ca me fait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Erreur d'exécution Microsoft VBScript error '800a000d'
     
    Type incompatible: 'CINT'
     
    carte_reservation.asp, line 75
    et avec des guillemets ca pose problême puisque y'a une foultitude test après du style if numcarte>1 ou autre

    j'ai peur qu'on epuise toutes les solutions...


    EDIT : alor la je comprend pu trop, avec CDBL ca marche mais dans un seul cas : il faut que j'envoi une variable avec une "," et que je recoive la variable en testant avec un ".". Si j'envoi la variable avec un point ca marche pas ...

  10. #10
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    regarde juste au dessus. Tu mets CDBL au lieu de CINT
    Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    En fait j'étais en train d'éditer mon message quand j'ai vu le coup du CDBL...

    les posts se croisent...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 247
    Points : 99
    Points
    99
    Par défaut
    Citation Envoyé par flogreg
    Citation Envoyé par pekka77
    Tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    numcarte=CINT(request.querystring("carte"))
    CINT ne marchera surement pas. Il faut le faire avec CDBL je pense car il y a une décimale.
    Effectivement, je n'avais pas vu la présence des nombres décimaux au premier coup d'oeil.


    Mais à mon avis, la solution avec les guillemets devrait marcher !

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    J'avais essayé les guillemets je croi mais ensuite mes test > ou = je ne sais pu ne marchaient plus.

    La solution du CDBL avec la virgule fonctionne, le seule problême c'est que en javascript dans la page d'où partent les infos je fais ncrt=0,5 et quand je passe dans l'url carte.asp?carte='+ncrt+' il n'y a que 0 et donc ca marche pas

  14. #14
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    quand tu passe en javascript, il faut que tu transforme la virgule en point. Quand tu passe du javascript en asp, tu transforme le point en virgule.

    Sinon, tu garde la solution des parenthèses, et au moment des tests > ou égal, tu utilise le CDBL.
    Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Bon ba me revoila,

    j'ai tout fais, en javascript je garde le point, je passe dans la page d'après, je ne marche que par chaîne de caractère donc pour tous les tests ca passe pas. (<= >=)

    Et je ne peut pas utiliser CDBL, quelque soit la facon dont je m'en serve j'ai la même erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur d'exécution Microsoft VBScript error '800a000d'
     
    Type incompatible: 'CDBL'
    J'ai essayer de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call replace(numcarte, "." , ",")
    avant de faire le CDBL mais ca ne fonctionne pas non plus.
    En plus quand je ne ne fais pas le CDBL l'erreur c'est pasque je test un type string, donc si c'est du string CDBL devrait marcher... et ba non

    Bref la je suis paumé...

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Apreès verification je recupere bien la bonne valeur qui est donc sous la forme "0.5".

    C'est bien un string vu que quand je veu faire des tests j'ai une erreur qui me dit que le type est imcompatible pasque c'est du string.

    Bon alor le cdbl devrai fonctionner c pas le cas.

    Le replace pour remplacer le . par une , ne fonctionne pas non plus (0.5 avant le replace, 0.5 après je comprend vraiment pas ca).

    Donc la HELP...


    EDIT : Bon ba ca y est, c'est assez bizarre donc je vais dire ma solution des fois que ca arrive a quelqu'un d'autre :

    il faut transferrer la variable avec un . (0.5 par exemple). A l'arrivé en ASp il faut faire un replace pour cahnger le "." en ",".
    Ensuite il faut faure un CDbl pour que la variable ne soit plus du string et ensuite pour les test ou lors d'une nouvelle affectation de la variable il fauit utiliser des ".".

    Don c en résumé la variable arrive a 0.5, on la transforme en 0,5, on la cast en numeric et on test avec 0.5 sinon ca ne marche pas, et si on veu qu'elle prenne la valeur 1,5 il faut faire 1.5 et non 1,5.

    Voila j'espère que j'ai été clair...

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

Discussions similaires

  1. Type incompatible: 'Ubound' ?
    Par zorba49 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 03/01/2018, 18h33
  2. [VB.NET] Type Incompatible
    Par Cyrilange dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/11/2009, 20h08
  3. ODBC Access => Type Incompatible avec un champ DATE ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 6
    Dernier message: 23/04/2005, 02h02
  4. Types Incompatibles
    Par olivierlsf dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/03/2005, 18h01
  5. [LG]Problême "types incompatibles"
    Par pierrOPSG dans le forum Langage
    Réponses: 7
    Dernier message: 23/04/2004, 21h34

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