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 requête listview !


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut Problème requête listview !
    Bonjour,
    Je suis confronté à un problème (le programme est arrêté) lorsque je fais 2 requêtes (avec choix conditionnel de l'une d'elle) lors du lancement d'une procédure comprenant une connexion unique à la base de données.
    La ligne de code en vert indique le message suivant :
    La référence d'objet n'est pas définie à une instance d'un objet.
    Lorsque je supprime la boucle conditionnelle et la deuxième requête le programme tourne normalement.
    Comment faire pour effectuer plusieurs requêtes dans une même procédure, quelqu'un aurait-il une idée ?


    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
    Private Sub affichage_journee_championnat_ou_play_off_a_encoder()
            FramePresentationEquipesRencontresMultiples.Visible = True
            FramePresentationEquipesRencontresMultiples.Location = New System.Drawing.Point(250, 250)
    
            ListBoxFramePresentationEquipesRencontresMultiples.View = View.Details
            ListBoxFramePresentationEquipesRencontresMultiples.GridLines = True
            ListBoxFramePresentationEquipesRencontresMultiples.FullRowSelect = True
            ListBoxFramePresentationEquipesRencontresMultiples.HideSelection = False
            ListBoxFramePresentationEquipesRencontresMultiples.MultiSelect = False
            ' création des entêtes de colonnes
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Stade Competition", 70, HorizontalAlignment.Center)
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Date", 70, HorizontalAlignment.Center)
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Heure", 70, HorizontalAlignment.Center)
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Equipe visitée", 70, HorizontalAlignment.Center)
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Equipe visiteuse", 70, HorizontalAlignment.Center)
            ListBoxFramePresentationEquipesRencontresMultiples.Columns.Add("Saison", 20, HorizontalAlignment.Center)
    
    
    
            'connexion à la base de données
            Dim con As OleDb.OleDbConnection
            con = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= C:\Users\jean-jacques\Desktop\EI\Delegue.mdb;")
            If (var_etat_championnat = True) And (var_etat_playoff = False) Then
                Dim cmd As New OleDb.OleDbCommand( _
                        "SELECT CompetitionsStadeCompetition.Competition, FicRen_CompStadeComp.NumeroCompetitionStadeCompetition, FicRen_CompStadeComp.Date, FicRen_CompStadeComp.Heure, Clubs.NomClub, Clubs_1.NomClub, FicRen_CompStadeComp.Rencontre, FicRen_CompStadeComp.AnneeRencontresChampionnat " & _
                        "FROM CompetitionsStadeCompetition INNER JOIN (Clubs INNER JOIN (FicRen_CompStadeComp INNER JOIN Clubs AS Clubs_1 ON FicRen_CompStadeComp.NumeroEquipeVisiteuse = Clubs_1.NumeroClub) ON Clubs.NumeroClub = FicRen_CompStadeComp.NumeroEquipeVisitee) ON CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = FicRen_CompStadeComp.NumeroCompetitionStadeCompetition " & _
                        "Where (CompetitionsStadeCompetition.Competition = ""Championnat"") and (CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = " & variable_valeur_minimum & ");", con)        
    Else
                Dim cmd As New OleDb.OleDbCommand( _
                        "SELECT CompetitionsStadeCompetition.Competition, FicRen_CompStadeComp.NumeroCompetitionStadeCompetition, FicRen_CompStadeComp.Date, FicRen_CompStadeComp.Heure, Clubs.NomClub, Clubs_1.NomClub, FicRen_CompStadeComp.Rencontre, FicRen_CompStadeComp.AnneeRencontresChampionnat " & _
                        "FROM CompetitionsStadeCompetition INNER JOIN (Clubs INNER JOIN (FicRen_CompStadeComp INNER JOIN Clubs AS Clubs_1 ON FicRen_CompStadeComp.NumeroEquipeVisiteuse = Clubs_1.NumeroClub) ON Clubs.NumeroClub = FicRen_CompStadeComp.NumeroEquipeVisitee) ON CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = FicRen_CompStadeComp.NumeroCompetitionStadeCompetition " & _
                        "Where (CompetitionsStadeCompetition.Competition = ""PlayOff1"") and (CompetitionsStadeCompetition.NumeroCompetition_StadeCompetition = " & variable_valeur_minimum & ");", con)        
    End If
            con.Open()
            Dim data_reader As Data.IDataReader = cmd.ExecuteReader   
    Do While data_reader.Read()
                Dim new_item As New  _
                ListViewItem(data_reader.Item("Competition").ToString)
                new_item.SubItems.Add(data_reader.Item("NumeroCompetitionStadeCompetition").ToString)
                new_item.SubItems.Add(data_reader.Item("Date").ToString)
                new_item.SubItems.Add(data_reader.Item("Heure").ToString)
                new_item.SubItems.Add(data_reader.Item("Clubs.NomClub").ToString)
                new_item.SubItems.Add(data_reader.Item("Clubs_1.NomClub").ToString)
                new_item.SubItems.Add(data_reader.Item("AnneeRencontresChampionnat").ToString)
                ListBoxFramePresentationEquipesRencontresMultiples.Items.Add(new_item)
    
                Debug.WriteLine(new_item.Text & " : " & _
                    new_item.SubItems(0).Text & ", " & _
                    new_item.SubItems(1).Text & ", " & _
                    new_item.SubItems(2).Text & ", " & _
                    new_item.SubItems(3).Text & ", " & _
                    new_item.SubItems(4).Text & ", " & _
                    new_item.SubItems(5).Text)
            Loop
            con.Close()
    
    
    
            Dim wid As Integer
            For i As Integer = 0 To ListBoxFramePresentationEquipesRencontresMultiples.Columns.Count - 1
                ListBoxFramePresentationEquipesRencontresMultiples.Columns(i).Width = -2
                wid += ListBoxFramePresentationEquipesRencontresMultiples.Columns(i).Width
            Next i

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Par défaut
    Ta variable cmd a l'air d'être null. Est-ce bien le cas?
    ou définis-tu ta cmd? Tu la définis forcément en dehors des if. Il n'y a pas de raison que cela ne marche pas si tu la définis proprement.(ou alors tu aurais une erreur sql).

Discussions similaires

  1. Problème: Requête utilisant NOT IN
    Par fages dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/05/2004, 10h18
  2. erreur3073 Problème requête
    Par amel123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/04/2004, 10h15
  3. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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