База данных запросов от SqlDataReader - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь получить данные из базы данных с помощью SqlDataReader и отобразить их в элементе управления ListBox.В моей базе данных есть две таблицы Genre (Id, Name) и Review (Id, Title, GenreId).Мой код C # выглядит следующим образом:

try
{
    using (SqlConnection connection =
        new SqlConnection(@"Server=" + txtServerName.Text + ";Database=" + txtDatabase.Text + "; Integrated Security=SSPI"))
        using (SqlCommand command =
            new SqlCommand("Select Genre.Name, Review.Title  " +
                           "From Genre Inner Join Review " +
                           "On Genre.Id = Review.GenreId;", connection))
        {
            connection.Open();

            MessageBox.Show("Connected successful!");

            using (SqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    string sFormat = String.Format("Name: {0} Title: {1}", reader.GetString(0), reader.GetString(1));

                    // adding data to ListBox
                    lst.Items.Add(sFormat);
                }
            }
        }
}
catch (Exception ex)
{
    MessageBox.Show("Error: " + ex.Message);
}

При выполнении кода выше, я получил только столбец Имя, а столбец Название не появляется.Но если я изменил переменную sFormat следующим образом:

string sFormat = String.Format("Title: {0} Name: {1}", reader.GetString(1), reader.GetString(0));

, я получил и столбец Имя, и столбец Название.

Не знаю почему?Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 21 февраля 2019

Пожалуйста, проверьте, работает ли это

string sFormat = String.Format("Title: {0} Name: {1}", reader["Name"].ToString(), reader["Title"].ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...