怎样获取当前登录用户的ID(或用户名)?

[复制链接]
查看11 | 回复10 | 2021-1-27 06:21:41 | 显示全部楼层 |阅读模式
用户信息都在sql中,怎么获得当前用户的信息?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
你可以在设个全局变量。。然后在登入的时候保存用户的信息比如说账户、名称、卡号等等
用的时候直接调用就行了
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用1楼q740362425的回复:你可以在设个全局变量。。然后在登入的时候保存用户的信息比如说账户、名称、卡号等等
用的时候直接调用就行了

能说得更详细点么?比如保存用户的信息的代码要怎么写,是写在登录的界面的程序里还是写在哪里,然后要怎么读取,因为这是个很大的软件,有好多窗口--本人不是学这方面的,不太懂


回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
其实我也是个新手..只不过做的项目刚好是登陆那地方
“项目”-“添加模块”:
ModuleVariable
PublicUserAsstring
PublicUserNAMEAsstring
EndModule
然后登陆的时候给User赋值
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用3楼q740362425的回复:其实我也是个新手..只不过做的项目刚好是登陆那地方
“项目”-“添加模块”:
ModuleVariable
PublicUserAsstring
PublicUserNAMEAsstring
EndModule
然后登陆的时候给User赋值

PrivateSubButton_login_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton_login.Click
IfTextBox_user.Text.Trim=""Then
MsgBox("用户名不能为空!",MsgBoxStyle.Critical,"错误")
TextBox_user.Focus()
ExitSub
EndIf
IfTextBox_pwd.Text.Trim=""Then
MsgBox("密码不能为空!",MsgBoxStyle.Critical,"错误")
TextBox_pwd.Focus()
ExitSub
EndIf
DimsqlAsString
DimmyconnAsOdbc.OdbcConnection=NewOdbc.OdbcConnection
myconn.ConnectionString=odbcProductString
DimmycommAsOdbc.OdbcCommand=NewOdbc.OdbcCommand
mycomm.Connection=myconn
DimmyreaderAsOdbc.OdbcDataReader
Try
sql="select用户名,真实姓名,密码from用户基本信息表where用户名='"+TextBox_user.Text.Trim+"'and密码='"+TextBox_pwd.Text.Trim+"'"
mycomm.CommandText=sql
myconn.Open()
myreader=mycomm.ExecuteReader
IfNotmyreader.HasRowsThen
MsgBox("用户名或密码错!",MsgBoxStyle.Critical,"错误")
ExitSub
EndIf
myreader.Read()
当前用户=myreader.GetString(0).Trim
当前用户姓名=myreader.GetString(1).Trim
用户密码=myreader.GetString(2).Trim
Me.Hide()
主窗体对象.ShowDialog()'显示主窗体
CatchexAsException
MsgBox(ex.Message,MsgBoxStyle.Critical)
EndTry
EndSub
这是登录窗口的代码,给user赋值要怎么弄?
还有我要调用的用户ID是在另外一个程序中的,是不是要将赋值后的内容存入数据库?
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
你把
Ifmyreader.Read=tureThen
USER=myreader("用户名")
……
……
else
MsgBox("用户名或密码错!",MsgBoxStyle.Critical,"错误")
ExitSub
EndIf
前提是你有弄好变量
之后要用户名就直接用USER。。不过建议名称弄得复杂点比如说g_User之类的
因为项目没在身上,登入也做了好久了有些只能你自己判断了
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用5楼q740362425的回复:你把
Ifmyreader.Read=tureThen
USER=myreader("用户名")
……
……
else
MsgBox("用户名或密码错!",MsgBoxStyle.Critical,"错误")
ExitSub
EndIf
前提是你有弄好变量
之后要用户名就直接用USER。。不过建议名称弄得复杂点比如说g_User之类的
因为项目没在身上,登入也做了好久了有些只能你自己判断了


这样怎么解决?
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用6楼yzt3639的回复:Quote: 引用5楼q740362425的回复:
你把
Ifmyreader.Read=tureThen
USER=myreader("用户名")
……
……
else
MsgBox("用户名或密码错!",MsgBoxStyle.Critical,"错误")
ExitSub
EndIf
前提是你有弄好变量
之后要用户名就直接用USER。。不过建议名称弄得复杂点比如说g_User之类的
因为项目没在身上,登入也做了好久了有些只能你自己判断了


这样怎么解决?
不好意识。。这应该是手误。。是True....
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用2楼yzt3639的回复:能说得更详细点么?比如保存用户的信息的代码要怎么写,是写在登录的界面的程序里还是写在哪里,然后要怎么读取,因为这是个很大的软件,有好多窗口--本人不是学这方面的,不太懂咳,“很大软件”怎么会跑上csdn问这种问题而不问同事呢?是不是你们的公司都是葫芦娃都会自动长成巨无霸啊?
如果你是那种进程稳定的程序,例如wpf、winform等,那么你可以在一个class中声明一个static变量,那么整个项目(不管是窗口还是用户控件)就都可以访问它了。而假设是自己有多个工程,那么你可以选择比较底层的一个工程,声明变量。
如果你是那种进程不稳定的程序例如asp.net随时会重启,或者是silverlight程序但是仍然希望登录信息保存在应用程序之外的网页上,那么你可以使用cookie。
回复

使用道具 举报

千问 | 2021-1-27 06:21:41 | 显示全部楼层
引用8楼sp1234的回复:Quote: 引用2楼yzt3639的回复:
能说得更详细点么?比如保存用户的信息的代码要怎么写,是写在登录的界面的程序里还是写在哪里,然后要怎么读取,因为这是个很大的软件,有好多窗口--本人不是学这方面的,不太懂
咳,“很大软件”怎么会跑上csdn问这种问题而不问同事呢?是不是你们的公司都是葫芦娃都会自动长成巨无霸啊?
如果你是那种进程稳定的程序,例如wpf、winform等,那么你可以在一个class中声明一个static变量,那么整个项目(不管是窗口还是用户控件)就都可以访问它了。而假设是自己有多个工程,那么你可以选择比较底层的一个工程,声明变量。
如果你是那种进程不稳定的程序例如asp.net随时会重启,或者是silverlight程序但是仍然希望登录信息保存在应用程序之外的网页上,那么你可以使用cookie。

这个是本人的毕业设计,原程序是老师写的。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行