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 :

Tester si une variable est vide


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut Tester si une variable est vide
    Bonjour,

    je n'arrive pas à tester si une variable est vide ou pas.
    J'ai essaye isNull mais cela ne fonctionne pas:

    specialite=rsFor("spe_code")
    if specialite isNull then
    specialite="valeur"
    end if

    J'ai également essaye
    =0
    =""
    =" "

    Une erreur de syntaxe?

    Merci
    Christel

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    j'ai une fonction qui fait ça très bien et qui met une valeur par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function default_value(pChaine, pValue)
    	if pChaine = "" or isnull(pChaine) then
    		default_value = pValue
    	else
    		default_value = pChaine
    	end if
    end function
    Nico, l'agrotic géomatic

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    J'ai essaye et ca marche tres bien quand pValue est égal à quelque chose.
    Mais en fait moi je veux que ma variable soit égale à 6 espaces.

    En fait je recupere ma valeur : specialite=rsFor("spe_code")
    si c'est NULL dans la base de données je veux que specialite=" "
    mais je n'arrive pas à remplir ma variable de 6 espaces...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    ça ne fait pas ce que tu veux, ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    specialite = default_value(rsFor("spe_code"), "      ")
    ça devrait ...
    Nico, l'agrotic géomatic

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    specialite=rsFor("spe_code")
    response.write default_value(specialite, " ")
    response.write "-" & specialite & "-<br>"

    Résultat:
    --
    --
    --
    --

    (4 occurrences NULL)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    si tu ne demandes pas à remplacer 'specialite' par ce que renvoit la fonction default_value, c'est normal, non ?
    Nico, l'agrotic géomatic

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    effectivement lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    specialite=rsFor("spe_code")
    specialite = default_value(specialite, "      ")
    response.write can_num & "-" & specialite & "-<br>"
    Me donne:

    - -
    - -
    - -
    - -

    soit un seul espace !

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    dans ton code, je ne vois qu'un seul espace au niveau du default_value

    donc, le résultat ne me parait pas abhérrant
    Nico, l'agrotic géomatic

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    oui c'est le forum qui me les a enlevés, voir plus haut j'ai mis les balises codes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    specialite=rsFor("spe_code")
    specialite = default_value(specialite, "      ")
    response.write can_num & "-" & specialite & "-<br>"

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    dans ce cas, je te dirai que certains navigateurs font un peu n'importe quoi avec les séries d'espace... préfère un autre caractère pour tester (ou un len(specialite))
    Nico, l'agrotic géomatic

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    en fait le but c'est d'ecrire dans un fichier des informations avec des espaces si jamais les données sont null.
    je vais chercher une solution. si je trouve je la mets sur le site

  12. #12
    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

    j'utilise cete fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'Retourne la valeur de strDefault dans le cas ou valeur est nulle
    Function fDefaultValue(byval strValue,byval strDefault)
    	If len(strValue) = 0 or IsNull(strValue) then
    		fDefaultValue= strDefault
    	Else
    		fDefaultValue= strValue
    	End If
    End Function

  13. #13
    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
    Tu pourrais faire des tests sur le contenu du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    on error resume next
    Select case rsFor("spe_code")
        case isnull
            response.write("is null")
        case ""
            response.write("Rien")
        case 0
            response.write("egal 0")
        case isEmpty
            response.write("Vide")
        case else
            response.write("Else")
    End select
    Ca te permettrait d'y voir plus clair.

    PS: je ne sais plus si c'est isnull ou is null et isempty ou is empty qui marche pour ces tests. Ou peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select case isnull(rsFor("spe_code"))
      case true
      case false
      case else
    end select
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    Le test marche à présent. LE problème est le remplissage de la variable par 6 espaces
    specialite=" "
    ca ne me prend qu'un espace ...

    J'ai également essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                         if len(specialite)<6 then
    				nb_blanc=6-len(specialite)
    				i=0
    				'response.write nb_blanc
    				DO WHILE (i<nb_blanc)
    					specialite=  specialite& " " 
    					i=i+1
    				Loop
    			end if

Discussions similaires

  1. tester qu'une variable est vide
    Par pcouas dans le forum Maven
    Réponses: 1
    Dernier message: 09/03/2010, 09h01
  2. comment tester si une variable est de type indifined
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/08/2005, 09h32
  3. [langage] Comment tester si une chaine est vide
    Par |Bio dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2005, 15h05
  4. Tester si une table est vide
    Par rsc dans le forum SQL
    Réponses: 2
    Dernier message: 01/07/2004, 16h25
  5. [JDBC]tester si une table est vide
    Par zozolh2 dans le forum JDBC
    Réponses: 5
    Dernier message: 28/05/2004, 09h17

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