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 :

Gestion chaine vide provenant de SQL Server [Débutant]


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut Gestion chaine vide provenant de SQL Server
    Bonjour,
    J'ai un petit pb de comparaison de chaine

    La chaine d'origine provient d'une vue de SQL Server et consiste en la concaténation de 2 champs espacés par un tiret
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     dbo.VIL.VIL_LIB + N'  -  ' + dbo.VIL.VIL_CODE AS LibelleCode
    Lorsque le champ code est vide, l'ensemble m'apparait sous la forme
    Laon - ---
    et lorsqu'il est rempli sous la forme
    Bourg-en-Bresse - 01053

    Je désire comparer cette chaine avec 2 autres sous VB
    j'ai donc créer la propriété

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Public ReadOnly Property LibelleCode() As String
            Get
                If Not String.IsNullOrEmpty(Code) Then
                    Return Libelle & " - " & Code
                Else
                    Return Libelle & " - ---"
                End If
            End Get
        End Property
    La comparaison est correcte lorsque le code est rempli, mais fausse lorsqu'il est vide.
    Je suppose que mon erreur est due à la mauvaise appréciations des "---" correspondant au champ vide, mais je n'ai pas trouvé les caractères correspondants à ceux de SQL Server
    Par avance, Merci !
    Bertrand

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Normalement si le champ est vide, tu dois avoir une valeur NULL, et non des traits d'union. Vérifie dans la vue s'il n'y a pas un remplacement à ce niveau...

    Pour identifier les NULL dans ton code, tu peux utiliser DBNull.Value :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Code = DBNull.Value Then
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 258
    Points : 126
    Points
    126
    Par défaut
    Re,
    Suis je bête .. ce que je pensais n'être qu'une forme d'affichage de sql Server, n'était que la vérité ! les champs contenaient bien "---"
    Pour être sûr, j'ai remplacé ces "---" par des zéros et mis le champ à non nullable !

    Par contre, cela ne marchait pas encore à cause des espaces !
    là ou SQL server affiche
    Paris - 0 (avec 1 espace avant et après le tiret central)
    je lis dans Vb
    Paris - 0 (avec 2 espaces avant et après le tiret central)

    J'ai modifié ma classe en conséquence, et ça marche
    par contre, je n'ai pas compris pourquoi ces tirets additionnels !
    En tout cas, merci beaucoup, je m'étais fourvoyé !
    Bertrand

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

Discussions similaires

  1. Découper une chaine séparée par des ; SQL SERVER 2005 express
    Par DESPREZ dans le forum Développement
    Réponses: 2
    Dernier message: 06/11/2008, 10h09
  2. Gestion des Temps dans Base Sql Server par Delphi
    Par BYALI dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/03/2008, 14h09
  3. Gestion des données avec MS sql server 2005
    Par rezgui_fawzi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/01/2008, 15h55
  4. Chaine de connexion pour SQL Server
    Par mael94420 dans le forum ASP
    Réponses: 6
    Dernier message: 29/06/2006, 23h32
  5. [SQL-Server] Données incomplètes provenant de SQL Server
    Par wolflinger dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/06/2006, 11h13

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