Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SQL如何让用户在登录时只在datagridview中查看其详细信息_C#_Sql_Sql Server_Datagridview - Fatal编程技术网

C#SQL如何让用户在登录时只在datagridview中查看其详细信息

C#SQL如何让用户在登录时只在datagridview中查看其详细信息,c#,sql,sql-server,datagridview,C#,Sql,Sql Server,Datagridview,我目前正在visual studio 2012中开发一个windows窗体应用程序,根据用户是客户端还是管理员,它有两种不同的登录方式。下图显示了sql数据库的登录表 正如您所看到的,这是一个非常简单的登录系统,它有3列,分别是用户名、密码和角色(确定用户是管理员还是客户端)。 我遇到的问题是,我想创建一个表单,允许角色为客户机的用户通过使用datagridview从登录表查看自己的用户名和密码信息 目前,我有一个按钮,它将显示datagridview中登录表中每个用户的所有信息,我如何编辑代

我目前正在visual studio 2012中开发一个windows窗体应用程序,根据用户是客户端还是管理员,它有两种不同的登录方式。下图显示了sql数据库的登录表

正如您所看到的,这是一个非常简单的登录系统,它有3列,分别是用户名、密码和角色(确定用户是管理员还是客户端)。 我遇到的问题是,我想创建一个表单,允许角色为客户机的用户通过使用datagridview从登录表查看自己的用户名和密码信息

目前,我有一个按钮,它将显示datagridview中登录表中每个用户的所有信息,我如何编辑代码,以便datagridview仅显示当前登录用户的登录表详细信息?而不是像现在这样显示所有用户的登录详细信息

下面是datagrid视图和视图按钮的图像

下面是datagridview和view按钮的代码

{ public ClientAnalyzeyourowninformation()
    {
        InitializeComponent();
    }
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|Data.mdf;Integrated Security=True");
    private void button1_Click(object sender, EventArgs e)
    {
        // this is the code for the view button of admin menu
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Login", con);
        DataTable DATA = new DataTable();
        sda.Fill(DATA);
        dataGridView1.DataSource = DATA;
        con.Close();

    } 

使用.NET 2.0中的成员资格/角色:

private void button1_Click(object sender, EventArgs e)
{
    // this is the code for the view button of admin menu
    List<MembershipUser> Users;
    if (Roles.IsInRole("Admin"))
      Users=Membership.GetAllUsers();
    else
      Users=new List<MembershipUser>() {Membership.GetUser()};
    dataGridView1.DataSource = Users;
}

使用.NET 2.0中的成员资格/角色:

private void button1_Click(object sender, EventArgs e)
{
    // this is the code for the view button of admin menu
    List<MembershipUser> Users;
    if (Roles.IsInRole("Admin"))
      Users=Membership.GetAllUsers();
    else
      Users=new List<MembershipUser>() {Membership.GetUser()};
    dataGridView1.DataSource = Users;
}

当您输入登录数据时,将用户名存储到一个级别

lblUserName.Text=txtUserName.Text;

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0 AttachDbFilename=|DataDirectory|Data.mdf;Integrated Security=True");
private void button1_Click(object sender, EventArgs e)
{

    con.Open();
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Login WHERE username='"+lblUserName.Text+"'", con);
    DataSet DATA = new DataSet();
    sda.Fill(DATA);
    dataGridView1.DataSource = DATA;
    con.Close();

} 

当您输入登录数据时,将用户名存储到一个级别

lblUserName.Text=txtUserName.Text;

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0 AttachDbFilename=|DataDirectory|Data.mdf;Integrated Security=True");
private void button1_Click(object sender, EventArgs e)
{

    con.Open();
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Login WHERE username='"+lblUserName.Text+"'", con);
    DataSet DATA = new DataSet();
    sda.Fill(DATA);
    dataGridView1.DataSource = DATA;
    con.Close();

} 

您应该查看
WHERE
子句。。。此外,你不应该用纯文本存储密码。这么多的错误让我流下了血泪。NET已内置身份验证和角色库--请仅使用其中一个。您只需向记录中添加一个具有用户Id的字段,然后根据用户Id提取该信息。您应该查看
WHERE
子句。。。此外,你不应该用纯文本存储密码。这么多的错误让我流下了血泪。NET内置了身份验证和角色库--请只使用其中一个。您只需使用用户Id向记录中添加一个字段,然后根据用户Id提取该信息。下面是一篇关于如何配置的小文章,以及一些实现提示:您还可以使用,或者任何其他更可能做到这一点的安全软件包。这是一个比我目前做的更好的方法,但我不能使用你的方法,因为我已经完成了登录系统,不想用你的方法再次重写代码。我基本上只需要一个简单的方法来显示当前登录用户的登录详细信息,我并不在乎它有多基本。如果我正在为一家公司构建一个实际的系统,我会按照你的方式来做,但我只是在试验这种特定的方式,只是为了看看它如何工作。感谢您的回答,它绝对值得被评为最佳,如果我为一家公司构建了一个实际的系统,我将立即考虑使用simplemembership。下面是一篇关于如何配置的小文章,以及一些实现提示:您也可以使用,或者任何其他更可能做到这一点的安全软件包。这是一个比我目前做的更好的方法,但我不能使用你的方法,因为我已经完成了登录系统,不想用你的方法再次重写代码。我基本上只需要一个简单的方法来显示当前登录用户的登录详细信息,我并不在乎它有多基本。如果我正在为一家公司构建一个实际的系统,我会按照你的方式来做,但我只是在试验这种特定的方式,只是为了看看它如何工作。感谢您的回答,它绝对值得被评为最佳。如果我为一家公司构建了一个实际的系统,我将立即使用simplemembership。请在您的用户名框中键入
”或“=”
,并观看它转储所有记录。我希望我能对这个答案投1000次反对票。您刚刚让任何用户都可以获得整个系统中每个人的用户名和密码。恭喜。请在您的用户名框中键入
”或“=”
,并看着它转储所有记录。我希望我能对这个答案投1000次反对票。您刚刚让任何用户都可以获得整个系统中每个人的用户名和密码。恭喜。