我正在使用Windows Form和C#和SQlite数据库。我有一个带有玩家姓名的组合框,下面有一个文本框,需要填写总体评分
我有两个名为Player和Player_Attributes的表。现在,我需要加入Player_Api_ID,以便可以根据在Player表中找到的Player名称从Player_Attributes表中获得总体评级结果。有人可以告诉我如何进行陈述吗?谢谢
玩家表1
Player_Attributes表
UI
下拉代码
private void playersListBox_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
string filename = @"C:\Users\nicho\Documents\nicholas2ndyearproject\database.sqlite";
var conn = new SQLiteConnection("Data Source=" + filename + ";Version=3;");
{
using (SQLiteCommand cmd = new SQLiteCommand("SELECT player_name, Player_Attributes.sprint_speed FROM Player JOIN Player_Attributes ON Player.player_api_id = Player_Attributes.player_api_id;"))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
conn.Open();
cmd.Parameters.AddWithValue("@player_api_id", playersListBox.SelectedValue);
SQLiteDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
txtRating.Text = reader["rating"].ToString();
}
conn.Close();
}
}
}
catch (Exception)
{
throw;
}
}
答案 0 :(得分:0)
如果我的假设是正确的,希望这就是你想要的。
SELECT FirstName, LastName, Player_Attributes.overall_rating
FROM Player JOIN Player_Attributes
ON Player.Player_api_id= Player_Attributes.Player_api_id
我希望您的总体逻辑是错误的-在此更改事件中,playersListBox_SelectedIndexChanged()需要绑定所有值。 例如。
txtRating.Text = queryresultobject.overall_rating.value;
txtName.Text = queryresultobject.Name;
就像上面的onchange事件一样,您需要绑定值。首先介绍如何在asp.net的下拉列表更改时绑定值
This link will give you more clarity on how to implement
已编辑-更改了加入逻辑