Comment faire appel à une sub depuis une class vb
Bonjour à toute et à tous.
Je me permet de poster un discutions pour éclairer ma lanterne.
Je préviens, il y a pas de vrai problème en sois. C'est juste une question purement de connaissance.
Donc je m'explique. J'ai dans l'idée de faire un projet de création de compte avec stockage des différents éléments composant le compte dans une base de donnée.
Pour bien organiser mon code, je crée un class.vb pour y mettre tout mes lignes qui pourrait être récurrente.
Ensuite, je crée une form1 avec un bouton qui change son texte quand je suis connecté ou pas.
Code:
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
| Imports System.Data.SqlClient
Public Class Appel_de_code
Dim cnString As String = "Data Source=nom de mon serveur;Initial Catalog=Utilisateur;Integrated Security=True;Pooling=False"
Dim cn As SqlConnection
Public Sub Connection_serveur()
Dim a As New Listing_d_employer
If a.Button1.Text = "Se connecter" Then
cn = New SqlConnection(cnString)
Try
If cn.State = ConnectionState.Closed Then
cn.Open()
a.Button1.Text = "Se deconnecter"
End If
Catch ex As Exception
MessageBox.Show("Impossible de se connecter à la base de donnée !!!")
End Try
Else
cn.Close()
a.Button1.Text = "Se connecter"
End If
End Sub |
Donc ci-dessus ma class.vb ou j'ai la structure de mon code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Imports System.Data.SqlClient
Public Class Listing_d_employer
Dim a As New Appel_de_code
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
a.Connection_serveur()
End Sub
End Class |
Et ci-dessus mon événement pour le clik dans ma form1.vb.
Donc ma question est la suivant:
Quand je place le code suivant dans l'événement :
Code:
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
| Imports System.Data.SqlClient
Public Class Listing_d_employer
Private cnstring As String = "Data Source=nom de mon serveur;Initial Catalog=Utilisateur;Integrated Security=True;Pooling=False"
Private cn As SqlConnection
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Button1.Text = "Se connecter" Then
cn = New SqlConnection(cnString)
Try
If cn.State = ConnectionState.Closed Then
cn.Open()
Button1.Text = "Se deconnecter"
End If
Catch ex As Exception
MessageBox.Show("Impossible de se connecter à la base de donnée !!!")
End Try
Else
cn.Close()
Button1.Text = "Se connecter"
End If
End Sub
End Class |
Cela fonctionne. Mais quand je fait appel à la sub à partir de ma class.vb pour l'événement dans la form1, cela ne fonctionne pas.
Exemple du code en dessous:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Imports System.Data.SqlClient
Public Class Listing_d_employer
Private cnstring As String = "Data Source=nom de mon serveur;Initial Catalog=Utilisateur;Integrated Security=True;Pooling=False"
Private cn As SqlConnection
Dim a As New Appel_de_code
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
a.Connection_serveur()
End Sub
End Class |
Du coup, j'aimerais savoir pourquoi?
Personnellement, comme je vous l'ai dit, cela est pas vraiment un problème vu que j'arrive à mes fins. Mais je vous avoue que cela serais plus agréable d'avoir un class.vb où je mettrais tout mes procédures, instruction ect, pour avoir un code structuré et ainsi aérer ce dernier pour le rendre lisible pour moi et les autres éventuellement.
De plus, je préviens, je suis un amateur éclairé et le code que j''ai écris net pas de moi. Merci à ProjetX7 et à tout les autres de prendre le temps nous instruire.
Merci d'avance de votre aide et au plaisir de vous lire.