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

Windows Forms Discussion :

SQL ET LIKE EN VB NET


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut SQL ET LIKE EN VB NET
    bonjour,

    j'ai un petit problème avec ma requete sql.
    En effet, voici ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSql = "SELECT Nom, Prenom, Formation, Date, RetardSortie, Heure, Motif FROM Enregistrement WHERE Date LIKE '__/" & dat & "/__'"
    dat recoit 01, 02, 03 .... selon les mois.
    Je veux selectionner les ligne de ma table ou le mois est 01, 02, 03 ... etc
    Je fais donc un LIKE. MAis cela ne marche pas.

    Pourquoi?

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Essaie avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StrSql = "select teschamps from testables where date like '%/" & dat & "/%'
    A priori, si tes dates sont toujours formatées avec les "/", ça ne posera pas de problème.

    Griftou.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    non cela ne marche pas ...

    voici le code complet de mon module

    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
    Public Sub McomboBoxMois(ByVal listview1, ByVal Label7, ByVal combobox1, ByVal valeur, ByVal dat)
     
            Dim maConnexion As OleDbConnection
            Dim maCommande As OleDbCommand
            Dim drEnc As OleDbDataReader
            Dim strConnect As String
            Dim strSql As String
     
            strConnect = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='" & Label7.Text & "';User ID=Admin;Password=;"
            maConnexion = New OleDbConnection(strConnect)
     
            If combobox1.Text = valeur Then
                listview1.Items.Clear()
                If valeur = "(aucun)" Then
                    strSql = "SELECT Nom, Prenom, Formation, Date, RetardSortie, Heure, Motif FROM Enregistrement"
                    maCommande = New OleDbCommand(strSql, maConnexion)
                    maConnexion.Open()
                    drEnc = maCommande.ExecuteReader()
     
                    While (drEnc.Read() = True)
                        Dim ligne As New ListViewItem
                        'la premiere colonne contient le nom
                        ligne.Text = drEnc("Nom")
                        'les autres informations doivent etre mises dans la collection SubItems
                        ligne.SubItems.Add(drEnc("Prenom"))
                        ligne.SubItems.Add(drEnc("Formation"))
                        ligne.SubItems.Add(drEnc("Date"))
                        ligne.SubItems.Add(drEnc("RetardSortie"))
                        ligne.SubItems.Add(drEnc("Heure"))
                        ligne.SubItems.Add(drEnc("Motif"))
                        'la ligne créée est ajoutée à la liste déroulante
                        listview1.Items.Add(ligne)
                    End While
                Else
                    strSql = "SELECT Nom, Prenom, Formation, Date, RetardSortie, Heure, Motif FROM Enregistrement where date like '%/" & dat & "/%'"
                    maCommande = New OleDbCommand(strSql, maConnexion)
                    maConnexion.Open()
                    drEnc = maCommande.ExecuteReader()
     
                    While (drEnc.Read() = True)
                        Dim ligne As New ListViewItem
                        'la premiere colonne contient le nom
                        ligne.Text = drEnc("Nom")
                        'les autres informations doivent etre mises dans la collection SubItems
                        ligne.SubItems.Add(drEnc("Prenom"))
                        ligne.SubItems.Add(drEnc("Formation"))
                        ligne.SubItems.Add(drEnc("Date"))
                        ligne.SubItems.Add(drEnc("RetardSortie"))
                        ligne.SubItems.Add(drEnc("Heure"))
                        ligne.SubItems.Add(drEnc("Motif"))
                        'la ligne créée est ajoutée à la liste déroulante
                        listview1.Items.Add(ligne)
                    End While
                End If
            End If
     
        End Sub
    Mais je ne vois ce qui peux déranger

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    et le code de l'appel du module

    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
    Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
            McomboBoxMois(ListView1, Label7, ComboBox2, "(aucun)", "")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Janvier", "01")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Janvier", "02")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Fevrier", "03")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Mars", "04")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Avril", "05")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Mai", "06")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Juin", "07")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Juillet", "08")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Aout", "09")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Septembre", "10")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Octobre", "11")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Novembre", "12")
            McomboBoxMois(ListView1, Label7, ComboBox2, "Decembre", "01")
        End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Par défaut
    oups j'avais oublié de changer le nom de la comboBox
    Cependant il me met l'enregistrement 01/01/2001 en decembre ...

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Rien à voir avec le nom de ta combobox mais bien avec ton mois de décembre qui correspond à 01 et au fait que t'as 2 fois janvier dont un correspond à 02 et donc février à 03 etc....

    Non mais j'te jure.....

    Griftou.

  7. #7
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Ton champ date est de type string au moins pour faire un like ?
    Si c'est un type date, il faudrait vérifier si on peut faire un like là dessus. A voir dans l'aide de ton SGDB.

    Sinon, j'avoue que j'sais pas trop, faudrait que j'teste le code.

    EDIT : tu trouves pas que y a un truc qui cloche dans ta combobox ?

    Griftou.

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

Discussions similaires

  1. Accès à SQL Server à partir de ASP.Net
    Par Abdou_moujar dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/01/2008, 18h34
  2. requete sql utilisant LIKE %
    Par hottnikks_79 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 18/08/2006, 18h23
  3. [SQL Server] SQL Server 2005 CTP & VS.net
    Par Pleymo dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 22/11/2005, 18h24
  4. [SQL]Requêtes like
    Par joquetino dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/10/2005, 18h18
  5. Quelques problèmes avec SQL SERVEUR (LIKE et caractères)
    Par poussinphp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/09/2005, 09h43

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