Member 14137624 Ответов: 2

Загрузка combobox из базы данных в C#


var connectionString = @"Data Source=DESKTOP-A2ECE82;Initial Catalog=dataad_inventory;Integrated Security=True";
using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var query = "SELECT ID FROM Product_Details";
    using (var command = new SqlCommand(query, connection))
    {
        using (var reader = command.ExecuteReader())
        {
            //Iterate through the rows and add it to the combobox's items
            while (reader.Read())
            {
                cmbProducts.Items.Add(reader.GetString("ID"));
            }
        }
    }
}


Что я уже пробовал:

я попробовал это получить данные в поле со списком, но это не работает ошибка происходит, так как в части идентификатора его показывает ошибка что я могу сделать для этого?

2 Ответов

Рейтинг:
2

Richard Deeming

Цитата:
reader.GetString("ID")
Точное сообщение об ошибке сделало бы эту ошибку гораздо более очевидной - нет никакой перегрузки то GetString метод[^], которая принимает string параметр. Вместо этого метод ожидает индекс столбца, который вы хотите прочитать.

Вы можете либо позвонить то GetOrdinal метод[^] чтобы получить индекс столбца, а затем передать этот индекс в GetString метод:
reader.GetString(reader.GetOrdinal("ID"))
Или вы можете жестко закодировать индекс столбца, так как это единственный столбец, возвращаемый вашим запросом:
reader.GetString(0)


Рейтинг:
10

OriginalGriff

Задавать вопросы-это навык, особенно в интернете. Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.

Таким образом, мы не имеем ни малейшего представления о каком-либо контексте, кроме того, что Вы нам даете, и это означает, что мы не имеем ни малейшего представления ни о чем из следующего:

What error? We can't see any messages at all!
Where does it occur? We don't have any line information to help us "narrow it down"!
When does it occur? We can't see if it's a compiler error, or run time!
What did you do to make it happen? We have no idea!
What have you tried to fix it? We can't tell!

Наиболее вероятные проблемы заключаются в том, что строка подключения неверна, запрос select имеет ошибочное имя таблицы, в базе данных нет строк, в таблице Product_Details нет столбца с именем ID, и это не строка.

Но мы понятия не имеем, о чем именно, и не можем сказать, потому что у нас нет доступа к вашей системе, чтобы попробовать и выяснить это!

Поэтому остановитесь, сядьте и посмотрите, что происходит, когда вы запускаете его: в большинстве случаев вы получаете большой объем данных с каждой ошибкой, которая очень важна для проблемы - особенно когда вы запускаете ее в отладчике! Посмотрите на информацию, и она даст вам номера строк, иногда строки кода, сообщение об ошибке, которое описывает проблему! Затем либо используйте это, чтобы решить, в чем может быть проблема, либо передайте это нам, и мы поможем вам.

Но в данный момент наши руки связаны - мы ничего не можем сделать для вас, основываясь на том немногом, что Вы нам рассказали!


Member 14137624

Извините, сэр, но теперь я нашел решение, и спасибо вам за Вашу помощь, сэр/мадам

OriginalGriff

Пожалуйста, но, пожалуйста, в будущем постарайтесь подумать о том, сколько информации вы нам дадите. Чем лучше вопрос, тем лучше ответ!