VB中关于获取登录用户名的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB中关于获取登录用户名的问题相关的知识,希望对你有一定的参考价值。
登录界面完成后,执行了unload me 操作,但我在另外一个窗体中要执行查询数据库的操作,查询的内容为等于登录用户名的所有记录,此时我怎么去获取登录用户名呢?
麻烦给我介绍一种可行的思路或者具体方法~ 谢啦~
在打开“显示所有用户”的时候,就读取这个值,然后启动自定义函数。
Public LoginUser As String
在新打开的“显示所有用户”的窗口,调用自定义函数
比如你的“Update”函数
Private Sub Form_Activate()
Update(LoginUser)
End Sub 参考技术A 将登陆的用户名存入临时数据表中(程序退出时自动删除),再从临时数据表中查找。 参考技术B 登录后用一个全局变量(在模文件中定义)储存用户名即可追问
就是将用户名赋值给全局变量吗? 这样全局变量的值会不会因为UNload ME 而消除呢?
参考技术C 定一个公共变量,在登录成功的时候,将用户名的值付于它.这样不就行了吗?下次要用的时候就可以了.公共变量要在模块中定义.如:public admin as string. 参考技术D 在公用模块里声明Public 类型变量, 登录后给它赋值,这个变量只有到程序结束时才会释放 第5个回答 2011-05-13 UNload ME 不消除的话,就要存起来了.
执行查询数据库的操作,查询的内容为等于登录用户名的所有记录,是需要找表的.可以用临时表.
mysql 中关于获取行号@rownum:=@rownum+1
mysql中没有获取行号的函数,因此需要通过一些自定义语句来进行获取。通常做法是,通过定义用户变量@rownum来保存表中的数据。通过赋值语句@rownum:[email protected]+1来累加达到递增行号。
例如:select a.* ,@rownum:[email protected]+1 from a,(select @rownum:=0) r; 后半部分语句的select @rownum:=0 相当于创建了r的新表,其表的列为@rownum,数值为0.
通过利用变量将@rownum的行进行重新赋值,并显示。可以应用于获取行号或名次排列。
另外,在名次排列时,由于会有重复的数据,排列时仅仅按照,@rownum:[email protected]+1。排序是不对的,需要在数据相同时,名次应该相同。因此需要另一变量保存上次的数据,并进行与本行数据对比,相同 序号不变,不同序号应该等于行号。此时需要应用到case when进行判断,例如:
Select a.*,
Case
When @rownum0=a.c_id then @rownum:[email protected]+1
When @rownum0:=a.c_id then @rownum:=1
Else @rownum
End rank1,
Case
When @rownum1=a.s_score then @rownum2
When @rownum1:=a.s_score then @rownum2:[email protected]
Else @rownum2
End rank2
from (select * from score order by c_id ,s_score desc
) as a,(select @rownum:=0, @rownum0:=0,@rownum1:=0,@rownum2:=0) r;
以上是关于VB中关于获取登录用户名的问题的主要内容,如果未能解决你的问题,请参考以下文章
请问VB.NET 怎么获取当前所有已登录到windows系统的用户名?
登录、电子邮件和密码验证无法与 SQL 表 Vb 一起正常工作