Страница: 1 |
Вопрос: как присвоить уникальные имена переменным | Добавлено: 01.01.03 17:28 |
Автор вопроса: ![]() |
Имеется собственный класс clsEmployee, который имеет ряд свойств, таких как Имя, Фамилия и т.д. Количесво определяемых объкетов типа clsEmployee может меняться в зависимости от количества записей возвращенных во запросу. Как определить эти переменные с униакльными именами типа empl1, empl2 или как-то именаче. Если присваиваю массиву то запоминается только последнее присоваение. |
Ответы | Всего ответов: 2 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #1 | Добавлено: 01.01.03 20:32 |
Попробуй перебрать записи в цикле, и получишь столько emp-ов,сколько у тебя записей!!! empl & rs.AbsolutePosition+1 |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 2 |
Профиль | Цитата | #2 | Добавлено: 02.01.03 15:22 |
Результаты запроса помещаются в 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 - 1 Dim i As Integer For 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 With lstListDocuments.Items.Add(empl.Empl_FullName) Next End Sub Public Shared Sub NewEmployee(ByVal empl As clsEmploye) empl = New clsEmployee() End Sub |
Страница: 1 |
|