2016-12-29 5 views
0

안녕하세요 여러분, 내 코드에 대한 도움을 찾고 있습니다. 목록 상자에서 내 레이블의 값을 새로 고치는 방법을 해결해야합니다. 나는 그의 통계, 성냥 등등을 가진 선수에 종사하고. 나는 성냥을 위해 그의 특정한 점수를보고 싶다 (나는 listbox에서 선택할 수있다). 관심을 가져 주셔서 감사합니다. 내 영어로 미안해. Lanky는 Lans, Jménohráče은 First name, Věk은 Age, Země는 Country입니다. Počet killu는 살인 횟수를 의미하고 다른 하나는 사망자 수를 의미합니다. Veškeré odehrané lanky는 그의 모든 경기를 의미합니다.목록 상자에서 레이블 값을 새로 고치는 방법 C#

private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    connection = new SqlConnection(connectionstring); 
    try 
    { 
     connection.Open(); 
     var q = "SELECT * FROM Lanky"; 
     var query = new SqlCommand(q, connection); 
     using (var dr = query.ExecuteReader()) 
     { 
      var success = dr.Read(); 
      if (success) 
      { 
       label8.Text = dr["Kills"].ToString(); 
       label9.Text = dr["Deaths"].ToString(); 
       label1.Text = dr["Jménohráče"].ToString(); 
       label2.Text = dr["Věk"].ToString(); 
       label3.Text = dr["Země"].ToString(); 

      } 
     } 
     connection.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("error " + ex); 
    } 

} 

[https://i.stack.imgur.com/BiEHo.png]

+1

안녕하세요 :

private void Form1_Load(object sender, EventArgs e) { connection = new SqlConnection(connectionstring); try { connection.Open(); var q = "SELECT * FROM Lanky"; var query = new SqlCommand(q, connection); using (var dr = query.ExecuteReader()) { ListBox1.Items.Clear(); while (dr.Read()) { ListBox1.Items.Add(dr["Jménohráče"]); } } connection.Close(); } catch (Exception ex) { MessageBox.Show("error " + ex); } } 

다음으로, selectedItem가이 같은 somethign 할 변경 상자에 변경 이벤트를 처리 할 수있는 옵션이 있으므로 해당 함수를 구현하면이 값에 따라 선택한 값을 얻을 수 있습니다. 레이블을 업데이트해야합니다. –

+0

쿼리는 "* SELECT * FROM Lanky WHERE MatchId ="와 같아야합니다. + id;'와'id' d 'listBox1.SelectedItem'에서 삭제되었습니다. –

+0

레이블에 값을 변경하는 방법을 아는 사용자는 누구입니까? 왜냐하면 나는 12 명의 살인과 10 명의 죽음을 볼 수 있기 때문에 NHL을 클릭했을 때 레이블은 여전히 ​​12/10을 바꿀 수 없기 때문에 ... 그러나 데이터베이스에는 NHL과 일치하는 20 킬로와 12 명의 사망자가 있습니다. – Spuxy

답변

0

는리스트 박스를 채우는 방법 선택리스트 박스에 발생 다른 하나가되어야한다. listbox changed 이벤트에 데이터 검색을 넣었습니다. Form_Load 이벤트에 listbox1_SelectedItemChanged에서

첫째, 이동 코드,이 같은 : 같은 것을 할 목록에서

private void ListBox1_SelectedItemChanged(object sender, EventArgs e) 
{ 
    connection = new SqlConnection(connectionstring); 
    try 
    { 
     connection.Open(); 
     var q = "SELECT * FROM Lanky WHERE Jménohráče = @jh"; 
     var query = new SqlCommand(q, connection); 
     query.Parameters.Add("@jh", ListBox1.SelectedValue.ToString()) 
     using (var dr = query.ExecuteReader()) 
     { 

      ListBox1.Items.Clear(); 
      dr.Read(); 

      label8.Text = dr["Kills"].ToString(); 
      label9.Text = dr["Deaths"].ToString(); 
      label1.Text = dr["Jménohráče"].ToString(); 
      label2.Text = dr["Věk"].ToString(); 
      label3.Text = dr["Země"].ToString(); 

     } 

     connection.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("error " + ex); 
    } 

}