如何在其它界面获取用户登录时的用户名

liangyubin2005 2006-05-06 09:37:05
现在有个可能是很简单的问题。但在.net中好像不太好处理:
当用户在登录界面录入了用户名后,我想在其它的界面获取该用户名。我现在的做法是在每个界面创建一个构造函数,当new该界面时将用户名作为参数传入,代码如下:

dim Myuser as string

Public Sub New(ByVal user As string)
Myuser = user
End Sub

请问除了这种方法还有其它更好的方法吗?(可以用线程吗?)
...全文
475 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq283738671 2006-05-11
  • 打赏
  • 举报
回复
用一个public 定义一个变量不就可以了吗?
HAVENT 2006-05-07
  • 打赏
  • 举报
回复
一般程序必须使用的如果不考虑安全性问题,都是使用全局变量的,就是在模块中定义公开属性的变量
liangyubin2005 2006-05-06
  • 打赏
  • 举报
回复
我用的是vb.net,不是asp.net,用不了session,

还有“kssys(找了N久才知道怎么改名字) ”的方法我好像试过不行,我在form1将UserInfo.Name附值,然后在form2里取UserInfo.Name,这是的值为空
cbgn 2006-05-06
  • 打赏
  • 举报
回复
session
zss1100 2006-05-06
  • 打赏
  • 举报
回复
登陆后设置session
其他地方要用到的就调用session
比如
Dim conn, rs, sql, username, password, company
conn = Server.CreateObject("adodb.connection")
conn.open("provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("data.mdb"))
username = Replace(Request("username"), " ", "")'获取username文本框中的值
password = Replace(Request("password"), " ", "")'获取password文本框中的值
sql = "select *from users where user='" & username & "' and " & "pwd='" & password & "'" '查询表中是否有获取的用户名和密码
rs = conn.execute(sql)
If Not rs.eof Then '如果指针不到底。即用户名和密码正确
Session("username") = username '用一个变量username来存储用户名
End If
这个变量就一直保存在当前会话中了
kssys 2006-05-06
  • 打赏
  • 举报
回复
晕倒,不要这样子用。把用户信息放在模组里面,这样所有窗体都可引用到。

Module Module1
Public Structure UserInfo
Public ID As String
Public Name As String
Public Group As String
Public EmpID As String
Public LoginTime As DateTime
End Structure
End Module
cfreez 2006-05-06
  • 打赏
  • 举报
回复
帮顶!
我一般用MDI窗体,只传在主窗体就可以了
kssys 2006-05-06
  • 打赏
  • 举报
回复
你没有设置新变量,下面是完整的代码:

Module Module1
  public g_LoginUser As New UserInfo

  Public Structure UserInfo
    Public ID As String
    Public Name As String
  End Structure
End Module

'登录窗口
Public Class Form1
  '点了OK按钮....
  g_LoginUser.ID=...
  g_LoginUser.Name=...
End Class

'其它窗口
Public Class Form2
  '...
  Me.TextBox1.Text=g_LoginUser.ID
End Class
henrysap 2006-05-06
  • 打赏
  • 举报
回复
用线程吧,我都是用线程记录用户信息的
chengpei_chen 2006-05-06
  • 打赏
  • 举报
回复
添加一个模块,
在里面定义一个全局的(Public)变量
登录的时候把用户名赋予这个变量
在其他窗体里直接调用这个变量就行了

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧