以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自定义用户管理中UserName变量与系统变量冲突 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21102) |
||||
-- 作者:xiangyushi -- 发布时间:2012/7/1 17:59:00 -- 自定义用户管理中UserName变量与系统变量冲突 自定义用户管理中使用了变量名UserName,但实际上此名已经作为系统信息变量使用:
SysInfo类型通过其共享属性,提供一些常用的系统信息。
这样一来,“登陆操作系统的用户名”信息被覆盖了,给实际应用带来麻烦,因为你无法再使用“登陆操作系统的用户名”信息了!!
解决方法很简单:自定义用户管理中使用不使用“UserName”作为变量名即可。可以使用“SoftUserName”等名称。 [此贴子已经被作者于2012-7-1 18:02:25编辑过]
|
||||
-- 作者:jianjingmaoyi -- 发布时间:2012/7/1 18:44:00 -- 系统的自带的变量为User.Name 自定义的可以任意作法,详细请见帮助的自定义用户管理,帮助的说明是_UserName.
|
||||
-- 作者:xiangyushi -- 发布时间:2012/7/1 19:53:00 -- 以下是引用jianjingmaoyi在2012-7-1 18:44:00的发言:
系统的自带的变量为User.Name 自定义的可以任意作法,详细请见帮助的自定义用户管理,帮助的说明是_UserName. 我是经过了实践才发言的,我在"CaseStudy\\自定义用户管理"的文件中打开登录窗口,在“确定”按钮中增加了登录日志内容,代码如下:
Dim dr1 As DataRow dr1 = DataTables("表C").AddNew() dr1("登录时间") = Now() dr1("登录用户名") = _UserName . dr1("登录电脑名") = ComputerName dr1("登录电脑操作系统用户名") = UserName
结果是("登录用户名")和 ("登录电脑操作系统用户名") 均为“登录用户名(如贺辉)”, 后来将文件中所有地方的"UserName"改为“UserName1”,结果就跟我想要的一致了,如("登录电脑操作系统用户名") 为“Administrator”!!
在帮助文件中说: “用户登录”窗口中"确定"按钮的代码为: Dim UserName As String = e.Form.Controls("UserName").ValueDim cmd As New SQLCommand .... _UserName = UserName
jianjingmaoyi所说的User.Name 是正常的 foxtable自带的用户管理系统中的变量,并非此处所说的“自定义用户管理”文件中可以使用的。如果此处使用User.Name ,则会出现无论何人登录,均是一个用户名,即默认用户名,在示例文件就是“贺辉”了。 [此贴子已经被作者于2012-7-1 19:57:40编辑过]
|
||||
-- 作者:Fotable -- 发布时间:2012/8/10 22:24:00 -- 高手 ,读的很细 |