Заполняя comboBox данными из базы данных, я создал SqlDataReader.Я хочу получить столбец с названиями продуктов - PullRequest
0 голосов
/ 13 июня 2018

Это код.

void ProdFill()
{
    string coninfo = "datasource=DESKTOP-1F4329L;port=3306;username=root;password=root";
    string query = "select * from prodTest.product;";
    SqlConnection conn = new SqlConnection(coninfo);
    SqlCommand cmdDb = new SqlCommand(query, conn);
    SqlDataReader myReader;

    try
    {
        conn.Open();
        myReader = cmdDb.ExecuteReader();
        while(myReader.Read())
        {
            string prodname = myReader.GetString("pname");
            comboBox2.Items.Add(prodname);
        }
    }
}

Выдает ошибку по адресу:

string prodname = myReader.GetString("pname"); 

, утверждая, что

имеет недопустимые аргументы.Невозможно преобразовать строку в int.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы можете попробовать следующие подходы

Если вы хотите получить данные по имени столбца, тогда вы можете перейти с

string prodname = myReader["pname"].ToString();

Если вы знаете индекс столбца, тогда вы можете перейти с

   string prodname = myReader.GetString(0); //you can replace 0 with index of column

Получив данные из myReader, вы можете добавить их в выпадающий список

comboBox2.Items.Add(prodname);
0 голосов
/ 13 июня 2018

Передать индекс столбца внутри GetString ()

...