Bonjours à tous,
Je développe une appli winform pour un projet d'exam.
Le thème est un calculateur de facture EDF - GDF - EAU + Impôts sur revenue
Pour le moment j'ai effectué la parti graphique de ma fenêtre EDF.
J'ai créer une tale AboEdf qui recense tout les abonnement a EDF.
Je voudrai donc lister le nom des abonnement ( TYpeAbo dans ma table ) dans un comboBox.
J'ai créer une classe AboEdf avec les champs de ma table AboEdf :
Puis une classe connexion :
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 Imports MonAdminArchi.connexion Imports System.Data.SqlClient Imports System.Data.Sql Public Class AboEdf Private _id As Integer Private _TypeAbo As String Private _Puissance As String Private _PrixAn As Decimal Private _PrixKwhHc As Decimal Private _PrixKwHp As Decimal Public Property id() As Integer Get Return _id End Get Set(ByVal value As Integer) _id = value End Set End Property Public Property TypeAbo() As String Get Return _TypeAbo End Get Set(ByVal value As String) _TypeAbo = value End Set End Property Public Property Puissance() As String Get Return _Puissance End Get Set(ByVal value As String) _Puissance = value End Set End Property Public Property PrixAn() As Decimal Get Return _PrixAn End Get Set(ByVal value As Decimal) _PrixAn = value End Set End Property Public Property PrixKwHv() As Decimal Get Return _PrixKwhHc End Get Set(ByVal value As Decimal) _PrixKwhHc = value End Set End Property Public Property PrixKwHp() As Decimal Get Return _PrixKwHp End Get Set(ByVal value As Decimal) _PrixKwHp = value End Set End Property Public Sub New(ByVal TypeAbo As String, ByVal Puissance As String, PrixAn As Double, ByVal PrixKwHc As Double, ByVal PrixKwHp As Double) _TypeAbo = TypeAbo _Puissance = Puissance _PrixAn = PrixAn _PrixKwhHc = PrixKwHc _PrixKwHp = PrixKwHp End Sub Public Overrides Function ToString() As String Return String.Format(Me._TypeAbo, Me._Puissance, Me._PrixAn, Me._PrixKwhHc, Me._PrixKwHp) End Function End Class
Et enfin une classe Gestion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Imports System.Data.SqlClient Imports System.Data Public Class connexion Public Const DATA_SOURCE As String = "JEROME-PC\SQLEXPRESS" Public Const INITIAL_CATALOG As String = "Logiciel_admin" Public Const INTEGRATED_SECURITY As Boolean = True End Class
Je voudrai maintenant que dans la parti vb de ma fenêtre EDF appeler cette fonction comme par exemple :
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 Imports System.Data.SqlClient Imports MonAdminArchi.AboEdf Imports MonAdminArchi.connexion Public Class Gestion Public Function Lister(ByVal Requete As String) As ArrayList Dim TabTypeAbo As New ArrayList Dim cxString As String = "database=" + connexion.DATA_SOURCE + ";initial Catalogue=" + connexion.INITIAL_CATALOG + ";Integrated security=" + connexion.INTEGRATED_SECURITY + "" Dim cx As New SqlConnection(cxString) cx.Open() Dim query As New SqlCommand(Requete, cx) Dim reader As SqlDataReader = query.ExecuteReader Dim row As Object() = Nothing While reader.Read If row Is Nothing Then row = New Object(reader.FieldCount) {} End If reader.GetValues(row) Dim i As Integer = 0 While i < row.GetLength(0) If Not row(i) Is Nothing AndAlso Not (row(i) Is DBNull.Value) Then TabTypeAbo.Add(row(i).ToString()) Else Trace.Write("NULL") End If If i < row.GetUpperBound(0) Then TabTypeAbo.Add("|") End If i += 1 End While Trace.Write(vbCrLf) End While reader.Close() cx.Close() Return TabTypeAbo End Function End Class
Lister("SELECT TypeAbo FROM AboEdf") et ajouter le résulta dans un comboBox.
J'ai fais ceux ci :
mais Lister est souligner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.ComboBox_abo_edf.Items.Add(Lister("SELECT TypeAbo FROM AboEDF"))Je suis bloqué.Une référence à un membre partagé requiert une référence d'objet.
Merci a vous par avance pour votre aide.
Cdl
Jérôme
Partager