Преобразовать из строки в форму Windows C # int - PullRequest
0 голосов
/ 25 марта 2019

Я работаю над приложением C # Windows Form и хочу создать форму поиска с двумя полями со списком, которые содержат два поля: -Genres -Author Genres и Author, которые необходимо загрузить из базы данных, и я создаю функцию, которая загружает Genresи Автор, но когда я загружаю Жанры из БД, я получаю сообщение об ошибке «Невозможно преобразовать строку в int»

Я пытаюсь

string Genres = dr.GetString("Genres");
this.Genres.Items.Add(Genres);




void FillDropDown()
        {
            string constring = "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=Libary;Integrated Security=True";
            string Query = "Select * from Book ";
            SqlConnection conDataBase = new SqlConnection(constring);
            SqlCommand cmd = new SqlCommand(Query, conDataBase);
            SqlDataReader dr;
            try
            {
                conDataBase.Open();
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    string Genres = dr.GetString("Genres");
                    this.Genres.Items.Add(Genres);


                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

1 Ответ

1 голос
/ 25 марта 2019

GetString принимает целочисленный индекс, а не имя столбца строки. Используйте GetOrdinal, чтобы найти индекс для данного имени столбца.

string Genres = dr.GetString(dr.GetOrdinal("Genres"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...