【机房重构】——修改密码之全局变量

    前些天,在修改密码这问题给困住了,网上肯定有解决办法,也有提高班同学们写的博客,但是记得米老师说过,站在巨人的肩膀上是有前提的,所以还是决定自己解决问题,一定要自己解决。中间因为作品展停了几天,当我再次思考这个问题,调啊调,最终被我解决了,真的是很开心!当时特别兴奋,可能我比别人慢一点,花的时间也多了一点,但没关系,我有收获就行了,再提高的效率,我的进度就能赶上来的。

    修改密码的第一步是要核对当前用户,将原密码输入,判断原密码是否正确,而我就卡到了这一块。这个问题,就是保存当前登录用户的用户名和密码。

    三层还没彻底懂呢,晕晕乎乎的过去了。当看到这的时候,就想到了之前第一次做的机房收费系统。于是就打开了VB代码,发现它是定义了一个全局变量。

Public UserName As String


     那我也定义一个全局变量呗!也添加一个Module,在Module里写入

Module Module1
    Public User As String
    Public PassWord As String
End Module 



    然后,在窗体登录成功的时候,将当前用户名,以及密码记录下来,用实体来传入B层,在传入D层去判断输入的原密码是否正确。结果密码修改成功。
    与师傅交流后,定义一个类,写在类里,是不是也可以这样写呢?于是我定义了一个类,名为Module。

Public Class Model
    Public  User As String
    Public  PassWord As String
End Class


     这样写的运行结果,是密码修改失败,数据库也没有更改

     最后上网查了查,VB.NET声明全局变量有两种。  

(1)在模块中直接用Public来声明,通过变量名来访问,也就是可以直接用User,PassWord来访问。

(2)在类中,要使用Shared来声明,要通过,类名+点+变量名来访问。

    在VB.NET中,shared变量,如其名,为共享变量,指一个或多个被声明的变量将被共享,谁都可以用, 那么所有实例会访问相同的存储位置,而如果一个实例更改了变量值,所有实例都会访问更新后的值。那在类中,定义的时候,可以访问,但不写Shared,就不能被共享了,也就达不到“如果一个实例更改了变量值,所有实例都会访问更新后的值”这个目的了。

    所以最终在类中应该改为:
Public Class Model
    Public Shared User As String
    Public Shared PassWord  As String
End Class

  总结 综上两种情况,我觉得还是写在模块里比较好,这样访问的时候直接用变量名,多简单啊!

   当自己敲出来的时候,心里边特别高兴!一步一步来吧,确保每天都有进步,继续前进!

   
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸运的梦之星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值