Bonjour,
Je développe actuellement une classe pour un moteur de recherche dans une application ASP.net en VB.net. La classe utilise "SqlConnection" pour se connecter à la BD.
Classe Recherche.vb
Cependant, je reçoit toujours une erreur StackOverflow si j'essaie de déclarer mon objet en private dans le haut de la partie code de ma page recherche.aspx (donc dans recherche.aspx.vb)
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 Imports System.Data.SqlClient Public Class Recherche #Region " Implémentation privée " 'Input Private _Connection As New SqlConnection() [...] 'Output Private _Resultats As New DataSet() #End Region #Region " Constructeurs " Sub New() End Sub Sub New(ByVal value As String) Me.New() Me.ConnectionString = value End Sub #End Region #Region " Propriétés publiques " WriteOnly Property ConnectionString() As String Set(ByVal value As String) _Connection.ConnectionString = value End Set End Property [...] ReadOnly Property Resultats() As DataSet Get Return _Resultats End Get End Property #End Region #Region " Procédures publiques " Public Sub Connecter() _Connection.Open() End Sub Public Sub Deconnecter() If ConnectionState.Open Then _Connection.Close() End If End Sub Public Sub Rechercher() Dim da As New SqlDataAdapter() Dim query As New SqlCommand() With query .Connection = _Connection .CommandType = CommandType.Text .CommandText = [...] End With _Resultats.Clear() da.SelectCommand = query da.Fill(_Resultats) End Sub #End Region #Region " Desctructeur " Protected Overrides Sub Finalize() Me.Deconnecter() MyBase.Finalize() End Sub #End Region End Class
Tout ça à la contruction de ma classe recherche (dans le New())Erreur : Une exception non gérée du type 'System.StackOverflowException' s'est produite dans MonProjet.DLL
Recherche.aspx.vb
Sinon, en admettons que je réussirais (ici pour pallier, je le redéclare pour chaque fonction, je reçoit une autre erreur)
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 Imports MonProjet.Recherche Partial Public Class Recherche Inherits System.Web.UI.Page Private Recherche As New Recherche() Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Me.IsPostBack Then Recherche.ConnectionString = Application.Get("Connection") Recherche.Connecter() End If End Sub Private Sub btnRechercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRechercher.Click Recherche.Rechercher() End Sub End Class
(Recherche.vb: Rechercher(): da.Fill(_Resultats))Erreur : La propriété ConnectionString n'a pas été initialisée
Pouvez-vous m'aidez, merci beaucoup!
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 Imports MonProjet.Recherche Partial Public Class Recherche Inherits System.Web.UI.Page 'Private Recherche As New Recherche() Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Me.IsPostBack Then Dim Recherche As New Recherche() Recherche.ConnectionString = Application.Get("Connection") Recherche.Connecter() End If End Sub Private Sub btnRechercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRechercher.Click Dim Recherche As New Recherche() Recherche.ConnectionString = Application.Get("Connection") Recherche.Connecter() Recherche.Rechercher() End Sub End Class
Partager