Соединение двух идентификаторов вместе, чтобы получить еще один результат столбца - PullRequest
0 голосов
/ 24 мая 2019

Я использую Windows Form и C # и базу данных SQlite. У меня есть поле со списком с именем игрока, и ниже у меня есть текстовое поле, которое мне нужно заполнить с общим рейтингом

У меня есть две таблицы с именами Player и Player_Attributes. Теперь мне нужно присоединиться к Player_Api_ID, чтобы получить итоговый результат рейтинга из таблицы Player_Attributes в соответствии с именем игрока, найденным в таблице игроков. Может кто-нибудь показать мне, как это можно сделать? Спасибо

Player Table1

Player Table1

Таблица атрибутов игрока

enter image description here

UI

enter image description here

Код раскрывающегося списка

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;
        }
    }

1 Ответ

0 голосов
/ 24 мая 2019

Надеюсь, это то, что вы хотите, если мое предположение верно.

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, вам необходимо связать значения.Сначала рассмотрим, как связать значения onchange раскрывающегося списка в asp.net

Эта ссылка даст вам больше ясности о том, как реализовать

Отредактировано - изменена логика соединения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...