2017-01-22 3 views
0

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

У меня есть 2 таблицы в SQL.

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

Вы работаете в WindowsForms или ASP.Net? –

ответ

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 + ""; 

, а также DonT забыли использовать conn.Open() и conn.Close() после выполнения запроса

Смежные вопросы