Bonjour,
Je suis entrain de développer un site intranet pour mon stage mais je me heurte à une erreur que Visual Studio ne m'affiche pas mais cela m'empèche de lancer le débuggage.
Donc, voici le code complet du code-behind :
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
Private o_SI As SI
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ' Si une des variable session n'est pas renseignée, on le fait
        If Len(Trim(Session("Utilisateur"))) = 0 Or Len(Trim(Session("Machine"))) = 0 Then
            ' On récupère le nom de compte de l'utilisateur connecté
            ' Cela donne Domaine\utilisateur donc on récupère ce qui se trouve après l'anti slash
            Dim s_User() As String = Split(User.Identity.Name(), "\")
            ' On récupère le nom de la machine sur laquelle l'utilisateur est connecté
            ' On récupère l'adresse IP de la machine puis on récupère le nom DNS associé à cette IP
            Dim s_Ordinateur() As String = Split(System.Net.Dns.GetHostEntry(Request.ServerVariables.Item("REMOTE_HOST")).HostName, ".")
            ' on créé une session récupérant le login et la machine utilisée par l'utilisateur connecté
            Session("Utilisateur") = s_User(1)
            Session("Machine") = s_Ordinateur(0)
            Application("SI") = New SI()
            o_SI = Application("SI")
            Application("IdDemandeFini") = 4
        End If
 
        ' On va afficher la liste des demandes en cours
        Dim RDR As OleDbDataReader
        Dim s_Requete As String
        s_Requete = "SELECT DEMDate, DEMTitre, ETATDEMLibelle FROM DEMANDE, ETATDEMANDE WHERE ETATDEMId=DEMEtatDemande AND DEMEtatDemande<"
        s_Requete = s_Requete & "" & Application("IdDemandeFini")
        Dim o_Exec As OleDbCommand
        o_Exec = New OleDbCommand(s_Requete, o_SI.Connexion)
 
        ' On exécute la requête
        RDR = o_Exec.ExecuteReader
        ' On vérifie si au moins 1 enregistrement est envoyé
        If Not RDR.HasRows Then
            TblDemandeCours.Visible = False
        Else
            TblDemandeCours.Visible = True
            While RDR.Read
                'Dim o_Celules As WebControls.TableCellCollection
                Dim o_Cellule As WebControls.TableCell
                Dim o_Colone As WebControls.TableRow
                o_Cellule = New WebControls.TableCell()
                o_Colone = New WebControls.TableRow()
                ' On ajoute la date
                o_Cellule.Text = RDR.GetDateTime(0)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                ' On ajoute le titre
                o_Cellule.Text = RDR.GetString(1)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                ' On ajoute l'état actuel de la demande
                o_Cellule.Text = RDR.GetString(2)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                TblDemandeCours.Rows.Add(o_Colone)
            End While
            RDR.Close()
        End If
        lblAucuneDemandeEnCours.Visible = Not TblDemandeCours.Visible
    End Sub
J'ai exploré le code en mettant plusieurs parties en commentaire et il se trouve que l'erreur se trouve dans cette portion de code :
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
' On va afficher la liste des demandes en cours dans un <asp:table ...>
        Dim RDR As OleDbDataReader
        Dim s_Requete As String
        s_Requete = "SELECT DEMDate, DEMTitre, ETATDEMLibelle FROM DEMANDE, ETATDEMANDE WHERE ETATDEMId=DEMEtatDemande AND DEMEtatDemande<"
        s_Requete = s_Requete & "" & Application("IdDemandeFini")
        Dim o_Exec As OleDbCommand
        o_Exec = New OleDbCommand(s_Requete, o_SI.Connexion)
 
        ' On exécute la requête
        RDR = o_Exec.ExecuteReader
        ' On vérifie si au moins 1 enregistrement est envoyé
        If Not RDR.HasRows Then
            TblDemandeCours.Visible = False
        Else
            TblDemandeCours.Visible = True
            While RDR.Read
                'Dim o_Celules As WebControls.TableCellCollection
                Dim o_Cellule As WebControls.TableCell
                Dim o_Colone As WebControls.TableRow
                o_Cellule = New WebControls.TableCell()
                o_Colone = New WebControls.TableRow()
                ' On ajoute la date
                o_Cellule.Text = RDR.GetDateTime(0)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                ' On ajoute le titre
                o_Cellule.Text = RDR.GetString(1)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                ' On ajoute l'état actuel de la demande
                o_Cellule.Text = RDR.GetString(2)
                'o_Celules.Add(o_Cellule)
                o_Colone.Cells.Add(o_Cellule)
                TblDemandeCours.Rows.Add(o_Colone)
            End While
            RDR.Close()
        End If
J'ai beau chercher depuis 1 heure, je ne vois pas ce qui cloche...
Merci à ceux qui pourront me débloquer de cette situation.