このコミュニティに何も提供できないと思うので、ここにこの質問をするのは非常に難しいと思います。私は現在、起動するとユーザーにログインを要求するアプリケーションをプログラミングしています。ユーザーが入力したデータがデータベースのデータと一致する場合、ユーザーはログインします。次に、アプリケーションは、ユーザー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すると、正しいテキストが表示されるため、適切です。
誰かが私の問題を解決するのを手伝ってもらえますか?