2013-06-22 53 views
0

我在Visual Basic中有一個Mysql登錄系統,並且我希望在成功登錄後將用戶名存儲在全局變量中,但是當應用程序關閉時我希望該變量被刪除..你能告訴我一些例子嗎?我是一個初學者的視覺基礎。如何在Visual Basic中創建全局變量

+0

什麼都不做。所有變量在應用程序關閉時消失。 –

+0

你需要定義你的環境 - 這是一個勝利形式的應用程序或一個asp.net應用程序? – jmoreno

回答

2

如果您在Windows上開發,則使用Windows註冊表來保存該值。

有關更多詳情和示例,請參閱http://msdn.microsoft.com/en-us/library/aa289494(v=vs.71).aspx

小心如果緩存密碼雖然;你需要加密。

+0

我想要像臨時變量,每個會話只定義..我的意思是,像$ _SESSION ['用戶名']從PHP。 –

+0

想必您有一個模擬主應用程序的類。只需將您的變量作爲該類的成員數據即可。如果我是你,我仍然會使用註冊表:保存用戶不必在每次使用你的應用程序時輸入他們的登錄信息。註冊表具有HKEY_CURRENT_USER配置單元,這意味着計算機上的不同用戶可以看到不同的註冊表數據庫;即單獨的用戶可以具有單獨的登錄。 – Bathsheba

+0

我有2種形式.. LoginForm1和IndexForm,LoginForm1是啓動窗體和IndexForm默認情況下隱藏,如果登錄在LoginForm1中成功,那麼IndexForm將顯示​​,我仍然不知道如何存儲該成員名稱.. VB的開始對我來說現在是非常糟糕的......我想用這個成員名稱來查詢IndexForm中Mysql的一些數據,並用「SELECT * FROM members WHERE name ='..'」但我不'不知道如何。 –

0

只是創建一個類(在您的項目中),將不會被實例化正確...然後在該類中具有訪問修飾符的變量 Public Shared
和我一樣,我做了一個名爲Globals的類,其中有一個變量叫做 currentUser
所以從任何一類我只是 Globals.currentUser = txtUser.Text
訪問變量而像公共共享currentUser聲明爲字符串

0

試試這個,在你的表格文件中的主類之外,或者在一個單獨的模塊文件中:

Public Module Globals 
    Public UserName As String = "" 
End Module 

現在您可以在整個項目的任何代碼中訪問它。它將在應用程序關閉時處置。如果你想加倍確認,即使它是多餘的,將其添加到關閉整個應用程序的主窗體中:

Private Sub Form1_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed 
    UserName = "" 
End Sub