C# 登录按钮的If语句

C# 登录按钮的If语句,c#,visual-studio-2010,forms,C#,Visual Studio 2010,Forms,我是VisualStudio2010的新手。我正在创建一个登录表单,在登录表单中有一个组合框和一个文本框。组合框中的项目是员工的职位列表。每当用户单击登录按钮时,登录按钮中都应该有一个if语句,以便在员工的特定位置打开表单。请帮忙 这是屏幕截图: 代码如下: private void loginbutton_Click(object sender, EventArgs e) { string MyConString = "SERVER=localhost;" + "D

我是VisualStudio2010的新手。我正在创建一个登录表单,在登录表单中有一个组合框和一个文本框。组合框中的项目是员工的职位列表。每当用户单击登录按钮时,登录按钮中都应该有一个if语句,以便在员工的特定位置打开表单。请帮忙

这是屏幕截图:

代码如下:

private void loginbutton_Click(object sender, EventArgs e)
    {

        string MyConString = "SERVER=localhost;" + "DATABASE=timekeeping;" + "UID=root;" + "PASSWORD=admin;";
        MySqlConnection connection = new MySqlConnection(MyConString);
        MySqlCommand command = connection.CreateCommand();
        MySqlDataReader Reader;
        command.CommandText = "select username, password from users";
        connection.Open();
        Reader = command.ExecuteReader();
        while (Reader.Read())
        {
            if (username_login.Text == Reader[0].ToString() && password_login.Text == Reader[1].ToString().Trim())
            {
                username = Reader[0].ToString();
                password = Reader[1].ToString();
            }
        }

        if (username_login.Text == username && password_login.Text == password.Trim())
        {
            this.Hide();
            Home form = new Home();
            //form.userSession(lname, fname);
            form.Show();
        }
        else MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        connection.Close();
    }

我还没有包括组合框,因为我不知道在这里放什么。

下面的内容怎么样:

        Form mainForm;

        switch (comboBox1.SelectedText)
        {
            case "Individual employees":
                mainForm = new EmployeesForm();
                break;
            case "HR":
                mainForm = new HRForm();
                break;
            case "Manager":
                mainForm = new ManagerForm();
                break;
            case "Supervisor":
                mainForm = new SupervisorForm();
                break;
            default:
                mainForm = new DefaultForm();
                break;
        }

        mainForm.Show();

这使用了一个名为的条件语句,该语句通过将控制权传递给其主体中的一个case语句来处理多个选择。

下面的内容如何:

        Form mainForm;

        switch (comboBox1.SelectedText)
        {
            case "Individual employees":
                mainForm = new EmployeesForm();
                break;
            case "HR":
                mainForm = new HRForm();
                break;
            case "Manager":
                mainForm = new ManagerForm();
                break;
            case "Supervisor":
                mainForm = new SupervisorForm();
                break;
            default:
                mainForm = new DefaultForm();
                break;
        }

        mainForm.Show();

这使用了一个名为的条件语句,它通过将控制权传递给其主体中的一个case语句来处理多个选择。

我认为您需要重新考虑您的设计:

如果您将用户的角色(位置)存储在/a数据库中会更好

如果有人正确标识自己,请加载该用户的角色,然后打开正确的表单/应用程序。不要让用户选择他的角色

了解一下它们不仅适用于ASP.NET,您还可以在Winforms中使用它们:

优秀的教程集:


    • 我认为您需要重新考虑您的设计:

      如果您将用户的角色(位置)存储在/a数据库中会更好

      如果有人正确标识自己,请加载该用户的角色,然后打开正确的表单/应用程序。不要让用户选择他的角色

      了解一下它们不仅适用于ASP.NET,您还可以在Winforms中使用它们:

      优秀的教程集:


      你所说的员工的“特定职位”是什么意思?@jgemedina:例如:个人员工、人力资源部、经理、主管等。。。我想要的是,当我选择人力资源时,我将被引导到人力资源的表单,当我选择经理时,我将被引导到经理的表单。@Abdul Muqtadir:我已经完成了用户名和密码正确时打开表单的代码。如果不知道您的代码结构,这几乎是不可能回答的。你的代码是如何构造的?如何验证登录?其他形式叫什么?向我们显示更多信息,我们可能会提供帮助。您的意思是,当选择一名员工时,将显示一个新表单,其中包含他们的信息吗?您所说的员工的“特定职位”是什么意思?@jgemedina:例如:个人员工、人力资源、经理、主管等。。。我想要的是,当我选择人力资源时,我将被引导到人力资源的表单,当我选择经理时,我将被引导到经理的表单。@Abdul Muqtadir:我已经完成了用户名和密码正确时打开表单的代码。如果不知道您的代码结构,这几乎是不可能回答的。你的代码是如何构造的?如何验证登录?其他形式叫什么?向我们显示更多信息,我们可能会提供帮助。您的意思是,当员工被选中时,将显示一个新表单,其中包含他们的信息吗?没问题,这就是我们来这里的目的。没问题,这就是我们来这里的目的。