如何根据当前登录用户显示从数据库中检索的数据?我知道我应该声明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();
}
}
}
}
答案 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()