Результаты запроса помещаются в DataSet. Затем в цикле перебираются все записи и должны определяться переменные. Сложность именно в определении переменной как класса (Dim empl as New clsEmployee работает, но надо чтоюбы имена переменных менялись empl1, empl2 и т.д) если задавить стейтмент как Dim empl & i as New clsEmployee, (где i as integer) выдается ошибка что ожидается окончание стейтмента. Есть еще одна сложность что из цикла необходимо вызвать процедуру определения переменных, т.к. при определении переменной внутри цикла ее зона видимости ограничивается телом цикла, поэтому перееннцю надо передавать в виде аргумента в процедуру. Например: Public Sub FillTheList(ByVal sSQLString As String)lstListDocuments.Items.Clear() Dim dsResult As New DataSet()dsResult = GetDataSet(sConnectionString, sSQLString) 'функция работы с базой данных все работает нормально Dim nElements As Integer = dsResult.Tables(0).Rows.Count - 1Dim i As IntegerFor i = 0 To nElements'здесь должно быть пределение переменой Dim empl as clsEmployee Call NewEmployee(empl) ' определяем объект With dsResult.Tables(0).Rows(i) empl.FirstName = CInt(.Item("Empl_FirstName")) empl.LastName = CStr(.Item("Empl_LastName")) empl.Department = CDate(.Item("Empl_Department")) doc(i).FileName = CStr(.Item("Doc_File"))End WithlstListDocuments.Items.Add(empl.Empl_FullName) NextEnd SubPublic Shared Sub NewEmployee(ByVal empl As clsEmploye)empl = New clsEmployee()End Sub
Ответить
|