Je trouve très difficile de poser cette question ici parce que je ne pense pas que je puisse offrir quoi que ce soit à cette communauté. Je programme actuellement une application qui, une fois lancée, demande à l'utilisateur de se connecter. Si les données saisies par l'utilisateur correspondent à celles de la base de données, l'utilisateur est connecté. L'application récupère ensuite les données relatives à l'utilisateur dans la base de données, telles qu'un ID utilisateur, un nom, un rôle.Get and setter dans VB.NET
Maintenant, je voudrais que cette information soit largement utilisée dans l'application. Ma situation actuelle:
- Solution
- Executable (projet principal)
- Database.dll (classes etc)
Dans database.dll J'ai la classe suivante:
Public Class SessionProfile
Public _gebruikersID As String
Public _gebruikersNaam As String
Public _gebruikersRole As String
Public Property gebruikersID() As String
Get
Return _gebruikersID
End Get
Set(ByVal value As String)
_gebruikersID = value
End Set
End Property
Public Property gebruikersNaam() As String
Get
Return _gebruikersNaam
End Get
Set(ByVal value As String)
_gebruikersNaam = value
End Set
End Property
Public Property gebruikersRole() As String
Get
Return _gebruikersRole
End Get
Set(ByVal value As String)
_gebruikersRole = value
End Set
End Property
End Class
Dans mon e principal xecutable Je me réfère à cette classe comme suit: Dim SessionProfile As New Database.SessionProfile()
et dans mon formulaire de connexion J'utilise le code suivant pour définir le poseur:
If loginResult = 1 Then
SessionProfile.gebruikersID = SQLHook.Results("SELECT * FROM tblgebruikers WHERE GebruikersNaam = '" & TextGebruikersNaam.Text.Replace("'", "''") & "'", "GebruikersID")
SessionProfile.gebruikersNaam = SQLHook.Results("SELECT * FROM tblgebruikers WHERE GebruikersNaam = '" & TextGebruikersNaam.Text.Replace("'", "''") & "'", "gebruikersNaam")
SessionProfile.gebruikersRole = SQLHook.Results("SELECT * FROM tblgebruikers WHERE GebruikersNaam = '" & TextGebruikersNaam.Text.Replace("'", "''") & "'", "gebruikersRole")
DialogResult = DialogResult.OK
Else
SessionProfile.gebruikersID = ""
SessionProfile.gebruikersNaam = ""
SessionProfile.gebruikersRole = ""
DialogResult = DialogResult.NO
End If
Maintenant, je reviens à ma principale forme et d'utiliser par exemple MsgBox(SessionProfile.GebruikersNaam)
et je ne reçois rien retourné .
Y a-t-il une raison pour laquelle cette théorie ne fonctionne pas ou est-ce que quelque chose ne va pas? La requête est bonne parce que si vous les dimslez en tant que chaîne et msgbox eux, il affiche le texte correct.
Quelqu'un pourrait m'aider à résoudre mon problème?
Vous avez déclaré une variable nommée 'SessionProfile' dans votre exécutable principal, pourriez-vous me dire si cette variable est passée au formulaire de connexion où vous définissez les propriétés ou avez-vous déclaré une nouvelle (et différente)? – Steve
@Steve Dans l'exécutable principal j'ai deux formes nommées 'frmMain' et 'frmLogin' et dans les deux formes ce code est déclaré. –