如何根据当前登录的用户显示数据?

时间:2017-01-22 18:50:08

标签: c# logged

如何根据当前登录用户显示从数据库中检索的数据?我知道我应该声明id,但我真的不知道如何......

我在SQL中有2个表。

用户:

ID ||名字|| Last_Name ||日期||

列表

ID ||产品||描述|| USER_ID

private void BindGridView()
    {  
string constr = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;

            using (SqlConnection conn = new SqlConnection(constr))
            {

                using (SqlCommand cmd = new SqlCommand())
                { 
                    cmd.Connection = conn;
                    cmd.CommandText = @"SELECT * From List where ID = @ID";
                    cmd.Parameters.AddWithValue("@ID", ?);

                    using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
                    {
                        DataTable dt = new DataTable();
                        ad.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                }     
        }
    }

1 个答案:

答案 0 :(得分:1)

根据您的表格,query应为

select * from list where user_id = id

此处id是传递给方法的userid

例如private void BindGridView(int id)

另一种方法是使用session

并在登录后存储ID,您必须将其存储在会话

session["UserId"] = userid;

你可以在

这样的功能中使用它
int userid = Convert.ToInt32(session["UserId"]);
cmd.CommandText = "SELECT * FROM list where user_id = " + userid + "";

并且在执行查询

后也不要忘记使用conn.Open()conn.Close()
相关问题