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