Как отобразить данные на основе текущего зарегистрированного пользователя?

Как вы отображаете данные, которые извлекаются из базы данных в соответствии с текущим пользователем входа в систему? Я знаю, что должен объявить удостоверение личности, но я не знаю, как...

У меня есть 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() после выполнения запроса

Другие вопросы по тегам