在数据库中搜索用户id,并以第二种形式c#显示用户名

本文关键字:用户 二种 显示 搜索 数据库 id | 更新日期: 2023-09-27 18:25:19

我有一个包含列Name、UserID、Password和UserType的表。此外,我有一个登录表单,用户在其中键入用户id/密码组合,选择用户类型(学生或教师),然后单击"确定"按钮。如果存在这种id/密码的组合,程序将根据所选用户类型打开一个新表单-学生或教师表单。我想做的是,当第二个表单打开表单上的标签时,显示:已登录:"姓名"。我知道如果我把代码放在表格1 中

if(rbtnStud.checked)
{
   Students form = new Students (txtUID.Text); 
   formShowDialog; 
   this.Hide();
}

以及在第二种形式的中

public Students(string txtBox) 
 { 
     InitializeComponent();  
     lblName.Text = txtBox; 
 }

这将在标签中显示UserID。但我希望显示表中的Name,而不是UserID。有可能吗?

谢谢。

好的,这是附加信息:我正在使用WinForms从"LoginDB"类中的数据库中提取信息的代码:

            SqlConnection conn = SchoolDB.Connected();
            SqlCommand cmd = new SqlCommand("Select UserType from Login where UserID=@id and Password=@pwd", conn);
            cmd.Parameters.AddWithValue("@id", UserID);
            cmd.Parameters.AddWithValue("@pwd", Password);
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            conn.Close();
            return dt;

在主窗体上:

private void btnLogin_Click(object sender, EventArgs e)
    {
        try
        {
            DataTable result = LoginDB.Login(txtUID.Text, txtpwd.Text);
            if (result.Rows.Count == 1)
            {
                if (rbtnStud.Checked)
                {
                    Students form = new Students(txtUID.Text);
                    form.ShowDialog();
                    this.Hide();
                } 
             else if{}

在数据库中搜索用户id,并以第二种形式c#显示用户名

更改SqlCommand以返回Name而不是UserType:

SqlCommand cmd = new SqlCommand("Select Name from Login where UserID=@id and Password=@pwd", conn);

更新主窗体上的点击事件:

private void btnLogin_Click(object sender, EventArgs e)
    {
        try
        {
            DataTable result = LoginDB.Login(txtUID.Text, txtpwd.Text);
            if (result.Rows.Count == 1)
            {
                if (rbtnStud.Checked)
                {
                    // pass the name to the students form
                    Students form = new Students(dt.Rows[0]["Name"] as string);
                    form.ShowDialog();
                    this.Hide();
                } 
             else if{}
....
相关文章: