我正在使用 Windows 窗体和 C# 以及一个 SQlite 数据库。我有一个带有玩家姓名的组合框,下面我有一个文本框,我需要用总体评分填充
我有两个名为 Player 和 Player_Attributes 的表。现在我需要加入 Player_Api_ID 以便我可以根据 Player_Attributes 表中的 Player's Name 从 Player_Attributes 表中获取总体评分结果。有人可以告诉我如何完成声明吗?谢谢
选手表1
Player_Attributes 表
用户界面
下拉代码
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;
}
}
如果我的假设是正确的,希望这就是你想要的。
SELECT FirstName, LastName, Player_Attributes.overall_rating
FROM Player JOIN Player_Attributes
ON Player.Player_api_id= Player_Attributes.Player_api_id
我希望你的整体逻辑是错误的 - 在这个更改事件中你需要绑定所有值的 playerListBox_SelectedIndexChanged() 。例如。
txtRating.Text = queryresultobject.overall_rating.value;
txtName.Text = queryresultobject.Name;
像上面的 onchange 事件一样,您需要绑定值。首先了解如何在asp.net中绑定下拉列表中的值
已编辑 - 更改了连接逻辑
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句