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

VB.NET Discussion :

Problème de champ vide


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut Problème de champ vide
    Bonjour, j'ai un petit problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    If (IsDBNull(lecteur("SAUT"))) Then
                    Label9.Text = " "
                    Else
                        Label9.Text = lecteur("SAUT")
                    End If
    voila mon code, ce code normalement devrait m'afficher un blanc si le champ de ma base de données est vide sauf que si j'enlève la ligne qui concerne l'espace il me laisse toujours le blanc et j'aimerais mettre autre chose.
    merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    Salut, essaye ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If (lecteur("SAUT") = "") Then
                    Label9.Text = " "
                    Else
                        Label9.Text = lecteur("SAUT")
                    End If

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    il ne reconnait pas mon "="

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    Pardon, ton lecteur("Saut") est censé te donner quoi?
    Le contenu de la case Saut dans ta BDD?

  5. #5
    Membre régulier
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 77
    Points : 89
    Points
    89
    Par défaut
    salut,

    je ne sais pas si c'est à ca que pense quentincabo, mais si tu affiche directement le champ de ta base, il est préférable d'utiliser une fonction dans ta requete qui remplace les valeurs nulles par une valeur que tu choisi.

    par exemple pour SQL Server :

    SELECT ISNULL(Saut, 'valeur de remplacement') FROM LaTable


    ou encore pour Oracle :

    SELECT NVL(Saut, 'valeur de remplacement') FROM LaTable

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    une balise html
    <br>
    ou des chiffres sa dépend des labels.
    J' arrive à mettre la condition de plusieurs façon différentes mais il ne prend jamais mon Label7.text = "Inconnu"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    je passe par des "textbox" pour récupérer mes données et les lire par après.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    Re,
    tu ne mettrai pas ton code ou une partie

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Voila mon code de ma requête "select" jusqu'à mes lecteurs et il ne tiens pas compte de mes conditions dans mon "while"

    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
                Dim vReq As String = "SELECT NOM,ADRESSE,TELEPHONE,SITE_INTERNET,ADRESSE_E_MAIL,TELEFAX,TVA,denomination,SAUT,Lat,Lon,moduleID FROM ENTREPRISES,T_activite,ESSAI1 WHERE UPPER(ENTREPRISES.NOM) LIKE UPPER('" & recuperationcom & "%') AND ESSAI1.KeyID LIKE (" & 24 & ") AND ENTREPRISES.id_activite=T_activite.id_activite AND (ENTREPRISES.Lat) <> 0 AND (ENTREPRISES.Lon) <> 0;"
                Dim comm2 As SqlCommand
                comm2 = New SqlCommand
                comm2.Connection = conn2
                comm2.CommandText = vReq
     
     
                Dim lecteur As SqlDataReader
                lecteur = comm2.ExecuteReader()
     
                While (lecteur.Read())
     
                    If (IsDBNull(lecteur("ADRESSE"))) Then
                        Label1.Text = " "
                    Else
                        Label1.Text = lecteur("ADRESSE")
                    End If
                    If (IsDBNull(lecteur("NOM"))) Then
                        Label2.Text = " "
                    Else
                        Label2.Text = lecteur("NOM")
                    End If
    ...

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    Quel erreur te met-il avec le = ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    Une erreur critique s'est produite.
    Opérateur "=" n'est pas définie pour le type 'DBNull "et" "


    donc je suis obliger de mettre 'DBNull'

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    Tu dois retirer le dbnull dans le if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lecteur("SAUT") = ""

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    merci ça fonctionne mieux mais il ne tien toujours pas compte de mon changement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    If lecteur("TELEPHONE") = "" Then
                        Label7.Text = "Inconnu"
                    Else
                        Label7.Text = lecteur("TELEPHONE")
                    End If
    Il ne me met pas inconnu il me laisse blanc

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 229
    Points : 219
    Points
    219
    Par défaut
    tu es sûre que lecteur("TELEPHONE") = ""?
    Car cela pourrait-être aussi lecteur("TELEPHONE") = " "
    En français, es tu sûr que lecteur("TELEPHONE") est vide ou il contient des espace blanc

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 162
    Points : 49
    Points
    49
    Par défaut
    J'ai tout mis en commentaire et cela fonctionne :s je ne sais pas comment ça ce fait .... avant il me disait que mes champs pouvaient pas être vident et maintenant cela fonctionne sans ... je comprend pas tout mais c'est bon

Discussions similaires

  1. [WD16] débutant windev , problème sur champ vide
    Par T1929D dans le forum WinDev
    Réponses: 12
    Dernier message: 24/07/2013, 04h00
  2. Réponses: 7
    Dernier message: 15/06/2011, 11h26
  3. Le problème des champs vides avec le champ total
    Par medreg dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/11/2010, 19h39
  4. Problème de champs vide
    Par raftom dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/06/2008, 16h21
  5. Problème de champ vide dans une base sql
    Par lionel256 dans le forum VB.NET
    Réponses: 13
    Dernier message: 16/04/2008, 17h07

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