【发布时间】:2013-02-28 20:40:23
【问题描述】:
我觉得在这里提出这个问题非常困难,因为我认为我无法为这个社区提供任何回报。 我目前正在编写一个应用程序,一旦启动,它就会要求用户登录.如果用户输入的数据与数据库中的数据匹配,则用户已登录。然后应用程序从数据库中获取有关用户的数据,例如用户 ID、姓名、角色。
现在我希望这些信息能在应用程序中广泛使用。我现在的情况:
- 解决方案
- 可执行文件(主项目)
- Database.dll(类等)
在 database.dll 中我有以下类:
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
在我的主要可执行文件中,我将此类称为如下:Dim SessionProfile As New Database.SessionProfile(),在我的登录表单中,我使用以下代码设置设置器:
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
现在我回到我的主窗体并使用例如MsgBox(SessionProfile.GebruikersNaam),但我没有得到任何返回。
这个理论不起作用是有原因的还是我做错了什么?查询很好,因为如果您将它们调暗为字符串并将它们添加到 msgbox 中,它会显示正确的文本。
有人可以帮我解决我的问题吗?
【问题讨论】:
-
您在主可执行文件中声明了一个名为“SessionProfile”的变量,您能否告诉我该变量是否传递给您设置属性的登录表单,或者您是否声明了一个新的(和不同的) 一个?
-
@Steve 在主可执行文件中,我有两个名为“frmMain”和“frmLogin”的表单,并且在这两种表单中都声明了此代码。
标签: vb.net