0
我的vb.net代碼有問題,我有一個連接到mysql數據庫的登錄表單。它可以檢查用戶是否在數據庫中,現在接下來要做的是根據登錄帳戶從數據庫中獲取名稱,訪問級別和userId,我將它存儲在一個包含全局變量的模塊中。變量不會在vb.net中更新
這是我的代碼。
Module pubvars
Public Gplev As String
Public Gname As String
Public GuserId As Integer
End Module
然後,我將使用這個變量上的其他形式,在變量記錄的第一屆會議正確地讀出,但是當我退出,然後用新的用戶帳戶登錄,傳遞的變量沒有更新,這被認爲是在一個新帳戶登錄時更改的。
這裏是我聲明變量的代碼。
Dim search1 As MySqlCommand = New MySqlCommand("SELECT * FROM `login` WHERE login.username = '" & TextBox1.Text & "' AND login.password = '" & TextBox2.Text & "'", con)
con.Open()
Dim dr As MySqlDataReader = search1.ExecuteReader
Dim userFound As Boolean = False
While dr.Read
userFound = True
pubvars.Gname = dr("name").ToString
pubvars.Gplev = dr("permission_level").ToString
pubvars.GuserId = dr("userId").ToString
End While
If userFound = True Then
main_menu.Show()
Me.Hide()
Else
MsgBox("Sorry, username or password not found", MsgBoxStyle.OkOnly, "Invalid Login")
TextBox1.Text = ""
TextBox2.Text = ""
End If
這裏是我在第二種形式使用變量的代碼。
Private Sub main_menu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label3.Text = pubvars.Gname
If pubvars.Gplev = "2" Then
Button8.Enabled = False
Button8.Visible = False
ElseIf pubvars.Gplev = "3" Then
Button8.Enabled = False
Button8.Visible = False
ElseIf pubvars.Gplev = "4" Then
Button8.Enabled = False
Button8.Visible = False
End If
End Sub
對於註銷我有以下code.Is這個權利或它是不夠的退出?
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
pubvars.Gname = ""
pubvars.Gplev = "0"
login.Show()
Me.Hide()
End Sub
您是否在找到用戶,進入第二個窗體,然後pubvars不再存儲您的值? –
@Mort pubvars不再通過在不同帳戶上登錄後將值傳遞給第2個窗體,或者標籤3顯示puvars中的值沒有顯示值。類似的事情發生了。 –
看起來應該可以工作。設置一個斷點並一步一步確保代碼爲新登錄運行 – Plutonix