Как отобразить данные на основе текущего зарегистрированного пользователя?
Как вы отображаете данные, которые извлекаются из базы данных в соответствии с текущим пользователем входа в систему? Я знаю, что должен объявить удостоверение личности, но я не знаю, как...
У меня есть 2 таблицы в SQL.
Пользователь:
ID || Имя || Last_Name || дата ||
Список
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 ответ
Решение
Согласно вашей таблице query
должно быть
select * from list where user_id = id
Вот id
это userid
перешел на метод
например private void BindGridView(int id)
Другой способ заключается в использовании session
и хранить идентификатор после входа в систему вы должны сохранить его в сессии
session["UserId"] = userid;
и вы можете использовать его в функции, как
int userid = Convert.ToInt32(session["UserId"]);
cmd.CommandText = "SELECT * FROM list where user_id = " + userid + "";
а также не забудьте использовать conn.Open()
а также conn.Close()
после выполнения запроса