Автозаполнение комбинированного списка с базой данных SQL Server - PullRequest
0 голосов
/ 08 июня 2019

При заполнении комбинированного списка данными в базе данных отсутствовала первая строка в базе данных.

con = new SqlConnection(cs.connetionString);
con.Open();

Sql = "SELECT * FROM ItemRate";

command = new SqlCommand(Sql, con);
SqlDataReader reader = command.ExecuteReader();

reader.Read();

while (reader.Read())
{
    string cat = reader["RateOfInt"].ToString();
    comboBox4.Items.Add(cat);
}

Ответы [ 2 ]

2 голосов
/ 08 июня 2019

Вызов reader.Read() продвигает одну строку, поэтому при первом вызове перед цикл while уже попадает в первую строку, но затем вы вызываете его снова в условии while, поэтому он продвигается во второй строке просто удалите вызов до условия.

    con = new SqlConnection(cs.connetionString);
    con.Open();

    Sql = "SELECT * FROM ItemRate";

    command = new SqlCommand(Sql, con);
    SqlDataReader reader = command.ExecuteReader();

    // remove this line
    // reader.Read();

    while (reader.Read())
    {
        string cat = reader["RateOfInt"].ToString();
        comboBox4.Items.Add(cat);
    }

Редактировать: вот пример из Документов

1 голос
/ 08 июня 2019
    con = new SqlConnection(cs.connetionString);
    con.Open();

    Sql = "SELECT * FROM ItemRate";

    command = new SqlCommand(Sql, con);
    SqlDataReader reader = command.ExecuteReader();



    while (reader.Read())
    {
        string cat = reader["RateOfInt"].ToString();
        comboBox4.Items.Add(cat);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...