У меня есть эта часть кода, которая не заполняет combobox из datareader. Я сделал все виды проверок и подтвердил, что база данных подключается, и запрос также верен. Databaseconnections - это модуль, где я объявил все мои переменные, включая строку соединения и datareader (Public dr As SqlDataReader). Когда debbuging все идет гладко, но когда я нажимаю цикл While, он переходит в конец цикла без каких-либо ошибок. Я не могу понять, чего не хватает. Пожалуйста помоги.У читателя данных есть строки, но не заполняется combobox
Public Sub loadLocatns()
Try
Openconn()
cmd.CommandText = "SELECT distinct jobs.[file] FROM [BERVSDB].[dbo].[jobQueue] as jobs where (jobs.form_status<>'c') and (jobs.CI = '" & Ccode & "') and (jobs.[file] in(SELECT dts.[file] from [BERVSDB].[dbo].[master] as dts where (dts.[status] is null) or (dts.[status] <> 'X') ))"
cmd.Connection = conn
Databaseconnections.dr = cmd.ExecuteReader()
If IsNothing(dr) Then
MessageBox.Show("No Data found")
Else
If dr.Read() Then
While dr.Read
Me.ComboBox1.Items.Add(dr(0))
End While
Else
MessageBox.Show("Not reading!")
End If
dr.Close()
conn.Close()
End If
Catch ex As Exception
MessageBox.Show("Error:" & ex.Message)
End Try
End Sub
Это не ответ, но вы всегда, по крайней мере, пропускаете первый элемент, потому что вы делаете дополнительный 'Read'. Вы «читаете» первый элемент в 'If', а затем читаете, начиная со второго элемента в' While'. – tcarvin