jjg65
Messages postés28Date d'inscriptionmercredi 23 mars 2011StatutMembreDernière intervention16 août 2011
-
4 janv. 2011 à 10:59
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
4 janv. 2011 à 11:41
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 rouge 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 ?
Merci d'avance.
Private Sub affichage_journee_championnat_ou_play_off_a_encoder()
'//////////////////////////////////////////////////////
FramePresentationEquipesRencontresMultiples.Visible = True
FramePresentationEquipesRencontresMultiples.Location = New System.Drawing.Point(250, 250)
'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)
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
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 4 janv. 2011 à 11:41
Salut,
Essaie de simplifier la lecture du code en mettant les requetes SQL en dehors des parametes de methodes.
cmd est declaré dans les conditions avec un dim.
et donc visible que dedans
or tu l'utilises a l'exterieur donc ton code ne devrait même pas compiler??
Avec les espions regardes les valeurs des variables.