c# - 如何为每个用户打开单独的窗口

标签 c# sql .net winforms authentication

我想制作一个登录表单,为每个用户打开单独的窗口 类型。在此程序数据库中有 3 列。(用户名、密码、用户类型)此程序中有 3 种用户类型(管理员、经理、用户),每种用户类型都有单独的窗口。

  1. admin = Form2
  2. 经理 = Form3
  3. 用户 = Form4

这是我的登录按钮代码。请帮我把这个单独打开 每个用户类型的窗口。

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\sasindu\documents\visual studio 2010\Projects\Employee Database\Employee Database\Database.mdf;Integrated Security=True;User Instance=True");
    SqlCommand cmd = new SqlCommand("select * from login where username=@username and password =@password", con);
    cmd.Parameters.AddWithValue("@username", textBox1.Text);
    cmd.Parameters.AddWithValue("@password", textBox2.Text);

    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    con.Open();
    int i = cmd.ExecuteNonQuery();

    con.Close();

    if (dt.Rows.Count > 0)
    {
        Form3 Form = new Form3();
        Form.Show();
        this.Hide();  
    }    
    else
    {
        MessageBox.Show("Please enter Correct Username and Password");
    }

最佳答案

我认为您已经在登录表用户类型中添加了一列。 用户类型列有派生admin、user、manager等。 然后你会很容易验证

if(dt.rows[0]["user_type"].tostring()=="Admin")
{
// which form you show

}

if(dt.rows[0]["user_type"].tostring()=="User")
{
// which form you show

}

if(dt.rows[0]["user_type"].tostring()=="Manager")
{
// which form you show

}

我希望这段代码对您有所帮助。如果有任何疑问,请发表评论。

关于c# - 如何为每个用户打开单独的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39302711/

相关文章:

mysql - SQL - 如果没有数据则插入到表中

.net - 为 .NET 选择 ESB

javascript - 将 ASP.NET SendGrid 调用转换为 JavaScript?

.net - 找不到任何 Caliburn Micro with Prism 的 sample

c# - 使用声音文件 C# - 修改速度

c# - 通用参数推断和不明确的函数调用 - 有解决方法吗?

mysql - 函数聚合中的函数聚合

asp.net - 为 ASP.NET 应用程序绘制新数据库?

c# - 为什么后台线程不等待任务完成?

c# - 发送命令后如何捕获串口的返回?