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 avec opérateur LIKE


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de sibama
    Profil pro
    Inscrit en
    Août 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 147
    Points : 55
    Points
    55
    Par défaut Problème avec opérateur LIKE
    Bonjour
    Est-ce que quelqu'un voit pourquoi l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesLign(i).Ligne Like "*<-[!*]*[!/]*."
    donne True lorsque MesLign(i).Ligne a pour valeur : "M832,M32<-V1,M33/256.".
    Pour moi le [!/] devrait m'éliminer ce cas.

    Merci

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    supposant que [!/] signifie tout caractère sauf un slash, on peut faire me semble-t'il les match suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    *   : "M832,M32"
    <-  : "<-" 
    *   : "V"
    [!*]: "1"
    *   : ",M33/256"
    .   : "."

  3. #3
    Membre du Club Avatar de sibama
    Profil pro
    Inscrit en
    Août 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 147
    Points : 55
    Points
    55
    Par défaut
    En fait le problème c'est que sur les exemples suivants:
    "M832,M32<-V1,M33/256."
    "M832,M32<-*.256.V1,M33."
    "M832,M32<-V1,M33."
    je voudrais que mon LIKE ne soit vrai que pour le cas "M832,M32<-V1,M33." et que je puisse éliminer les autres.

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut probleme avec Like,analyse de chaine
    bonjour sibama
    J'ignore la fonctionnalite mais il faut faire à la methode d'analyse du Like,c.à.d au modele utilise dans le pattern lors de l'analyse.
    Je veux dire quelle est la partie du pattern utilise par Like lors de l'analyse de la chaine pour pouvoir utiliser les possibilites disponibles.
    le code transmis par tes soins avec les observations:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    'Symboles reserves de like et significations
    '? Tout caractère unique
    '* Zéro ou plusieurs caractères
    '# Tout chiffre (0-9)
    '[ charlist ]  Tout caractère présent dans charlist
    '[! charlist ] Tout caractère absent(caractere à exclure) 
    'Si un des symboles reserves ci-dessus  figure 
    'dans le Modele de chaine  à tester le mettre entre crochet
    Option Compare Text
    Public Class frmLike2
     
        Private Sub btnTestSlash_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestSlash.Click
            'Test 1 
     
            Me.TextBox1.Clear()
            Me.TextBox2.Clear()
            Dim testCheck As Boolean = False
            '1er cas :slash inverse  exclu
            Dim strPattern1 As String = "*<-[!*]*[!/]*."
            Dim narutoStr As String = "M832,M32<-V1,M33/256."
     
            'Celle-ci est analyse  suivant * qui 
            'comprend tout caractere y / a moins de le changer
            'en *. ce qui permet de le repetition du modele
     
            'Doit Renvoie true
            testCheck = narutoStr Like strPattern1
            If testCheck Then
                Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
            Else
                Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
            End If
     
        End Sub
     
        Private Sub btnTestAster_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestAster.Click
            'Test 2 
            Me.TextBox1.Clear()
            Me.TextBox2.Clear()
            Dim testCheck As Boolean = False
            '2er cas :aster exclu
            Dim strPattern1 As String = "*<-[!*]*[!/]*."
            Dim narutoStr As String = "M832,M32<-*.256.V1,M33."
     
            'Celle-ci est analyse  suivant <-[*] qui exclut caractere *
     
            'Doit Renvoie false
     
            testCheck = narutoStr Like strPattern1
            If testCheck Then
                Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
            Else
                Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
            End If
     
        End Sub
     
        Private Sub btnTestChaine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestChaine.Click
            'Test 3 
            Me.TextBox1.Clear()
            Me.TextBox2.Clear()
            Dim testCheck As Boolean = False
            '3er cas :chaine conforme
            Dim strPattern1 As String = "*<-[!*]*[!/]*."
     
            Dim narutoStr As String = "M832,M32<-V1,M33."
     
            'Celle-ci est analyse  suivant *.
            'il suffit d'enlever le premier * pour s'en rendre compte
     
            'Doit Renvoie true
            testCheck = narutoStr Like strPattern1
            If testCheck Then
                Me.TextBox1.Text = Me.TextBox1.Text & narutoStr
            Else
                Me.TextBox2.Text = Me.TextBox2.Text & narutoStr
            End If
     
        End Sub
    End Class
    puisse cela aider.....
    bon code.....

Discussions similaires

  1. Problème avec un Like
    Par Scots dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/04/2009, 14h59
  2. Problème avec critère "LIKE"
    Par MAMANHOU dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/10/2008, 16h23
  3. [MySQL] Problème avec opérateur de condition
    Par Dhumkazaar dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 02/03/2007, 18h41
  4. pb requête delete/update avec opérateur like, connexion ADO
    Par jerome666 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/02/2006, 16h47
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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