vb.net登录遇到的问题

我使用第一个账号登录,进入主菜单后,点击返回登录,重新输入另一个账号信息,登录主菜单显示还是上一个账号的信息,求助,这是登录页面的代码

Imports System.Data.SqlClient

Public Class login
    Dim Conn As SqlConnection
    Public sf As String

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles regist.Click
        register.Show()

    End Sub

    Private Sub log_Click(sender As System.Object, e As System.EventArgs) Handles log.Click
        Dim name, pad As String
        name = yname.Text
        pad = ypad.Text
        If ComboBox1.SelectedIndex = 0 Then
            sf = "管理员"
        ElseIf ComboBox1.SelectedIndex = 1 Then
            sf = "挂号员"
        Else
            sf = "医生"
        End If
        If name = "" Then
            MessageBox.Show("用户名不能为空")
        ElseIf pad = "" Then
            MessageBox.Show("密码不能为空")
        Else

            Conn = New SqlConnection()
            Conn.ConnectionString = "Server=(local);database=mzgh;Integrated Security=True"
            Conn.Open()
            Dim Comm As New SqlCommand("select * from yhxx where y_name='" & name & "' and y_pad='" & pad & "'", Conn)
            Dim ds As DataSet = New DataSet
            Dim da As New SqlDataAdapter
            da.SelectCommand = Comm
            da.Fill(ds, "yhxx")
            If ds.Tables("yhxx").Rows.Count = 0 Then
                MsgBox("用户名或密码错误,请重新输入!")
            Else
                MsgBox("登录成功!")
                Me.Hide()
                Main.Show()
            End If
            Conn.Close()

        End If


    End Sub

    Private Sub cancel_Click(sender As System.Object, e As System.EventArgs) Handles cancel.Click
        yname.Text = ""
        ypad.Text = ""
    End Sub

    Private Sub log_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles log.MouseDown
        Dim n As String
        n = yname.Text
        Conn = New SqlConnection()
        Conn.ConnectionString = "Server=(local);database=mzgh;Integrated Security=True"
        Conn.Open()
        Dim Comm As New SqlCommand("select y_name from yhxx where y_name='" & n & "'", Conn)
        Dim ds As DataSet = New DataSet
        Dim da As New SqlDataAdapter
        da.SelectCommand = Comm
        da.Fill(ds, "yhxx")
        If ds.Tables("yhxx").Rows.Count = 0 Then
            MsgBox("用户名不存在,请先注册!")
       
        End If
        Conn.Close()
    End Sub
End Class

这是主菜单代码

 

  没看到你设置登录用户身份信息的代码。。

 

main窗体是通过login窗体的sf这个变量控制这里显示?

 

检查main窗体代码,添加form_load更新下表单的Me.Text属性

 

对你有帮助能点个采纳吗,谢谢~~

登陆成功后,进入main窗体,我通过login.sf判断进入主菜单的身份,代码如下

Private Sub Main_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Select Case login.sf
            Case "管理员"
                Me.Text = Me.Text & "--管理员"
            Case "挂号员"
                创建医嘱ToolStripMenuItem.Visible = False
                创建收费标准ToolStripMenuItem.Visible = False
                处方录入ToolStripMenuItem.Visible = False
                收费ToolStripMenuItem.Visible = False
                发药ToolStripMenuItem.Visible = False
                生成发药信息ToolStripMenuItem.Visible = False
                费用报表ToolStripMenuItem.Visible = False
                消耗量报表ToolStripMenuItem.Visible = False
                用户信息管理ToolStripMenuItem.Visible = False
                医生信息管理ToolStripMenuItem.Visible = False
                Me.Text = Me.Text & "--欢迎:" & login.yname.Text & "挂号员"
            Case "医生"
                用户信息管理ToolStripMenuItem.Visible = False
                医生信息管理ToolStripMenuItem.Visible = False
                Me.Text = Me.Text & "--欢迎:" & login.yname.Text & "医生"

        End Select
    End Sub

在主菜单,我设有一个“返回登录”按钮,一开始我的代码是这样的

        Me.Hide()
        login.Show()
        login.yname.Text = ""
        login.ypad.Text = ""

就遇到了上述问题,今天我改成了这样就发现问题解决啦,我猜问题可能出在一开始我只是把窗体隐藏了而没有关闭它

        Me.Close()
        login.Show()
        login.yname.Text = ""
        login.ypad.Text = ""

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

登录成功后,你只是调用了Main.Show。但是Main窗体中能够知道到底是哪个用户ID登录的吗?有传递什么参数信息给Main窗体吗?

不知道我理解的是否正确。