大家好我正在寻找有关我的代码的任何帮助,我需要解决有关从列表框中刷新标签中的值的问题。我用他的统计数据,比赛等来对待球员。我想看看他在比赛中的具体分数(我可以从列表框中选择)并看到他的杀戮/死亡在我交换比赛时,任何人都有想法?谢谢你的关注。对不起我的英语不好。 Lanky是Lans,Jménohráče是名字,Věk是Age,Země是国家。 Početususuu意味着杀戮计数,另一种意味着死亡数量,VeškeréodehranéLaney意味着他所有的比赛。
if/else if
答案 0 :(得分:0)
应该有填充列表框的方法和另一个在列表框选择上触发的方法。您已将数据检索放入列表框已更改的事件中。做这样的事情:
首先,将代码从listbox1_SelectedItemChanged移到Form_Load事件中,如下所示:
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中更改了一些像这样的东西:
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);
}
}