【发布时间】:2016-02-12 00:31:33
【问题描述】:
我已将一个名为 Data 的 SQL 数据库连接到 Visual Studio C# 中的一个 Windows 窗体应用程序,该数据库包含一个名为 Login 的表。
表格显示如下:
这是数据在我的表中的外观的图片链接,所以基本上我将拥有用户名、密码和角色(我有两种类型的角色,这意味着用户是管理员或客户):
我制作了一个名为 Login 的登录表单,用户可以在其中输入数据库中的用户名和密码,这会将他们带到我称为 AdminMenu 的表单。我还制作了一个名为 MenuForm 的表单,我希望角色为 Client 的用户在登录时被定向到该表单。
问题是我只进行了登录,以便所有用户在登录时都会被引导到 AdminMenu,即使他们的角色不是管理员。有人可以修改我的代码,以便在登录时将具有 Client 角色的用户定向到 MenuForm,而将具有 Admin 角色的用户定向到 AdminMenu 表单。
这是我的登录表单代码:
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|Data.mdf;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("Select Role from Login Where UserName='" + textBox1.Text + "' and Password='" + textBox2.Text + "' ",con);
DataTable dt = new System.Data.DataTable();
sda.Fill(dt);
if(dt.Rows.Count == 1)
{
this.Hide();
AdminMenu ss = new AdminMenu();
ss.Show();
}
}
private void Login_Load(object sender, EventArgs e)
{
}
}
}
【问题讨论】:
-
这个问题与我如何重定向到 URL 不同。因为我希望用户在登录时根据他们在数据库中的角色被引导到特定的表单,而不是像其他问题那样被引导到特定的网页。
标签: c# sql-server forms login