Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с коллекциями / 9 сообщений из 9, страница 1 из 1
19.06.2013, 10:53
    #38302782
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Ситуация следующая:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Function GetProducts(ByVal Folder As Integer) As Collection
Dim Product As clsProduct
Dim TempProducts As Collection
Set TempProducts = New Collection
Dim rst1 As Object
Set rst1 = CreateObject("ADODB.Recordset")
rst1.Open ..........
While Not rst1.EOF
   Set Product = New clsProduct
   Product.Code = rst1.fields("Код")
   Product.Description = Trim(rst1.fields("Описание"))

   Dim rst2 As Object
   Set rst2 = CreateObject("ADODB.Recordset")
   rst2.Open "Select ....
   While Not rst2.EOF
      Set Product.Products1C = New clsProducts1C
      Product.Products1C.Code = rst2.fields("Код")
      If IsNull(rst2.fields("Наименование")) = False Then Product.Products1C.Name = rst2.fields("Наименование")
   rst2.movenext
   Wend
   TempProducts.Add Product, "P" & Product.Code
   Set Product = Nothing
rst1.movenext
Wend
rst1.Close
Set GetProducts = TempProducts
Set TempProducts = Nothing
End Function



И гдето вызывается эта функция:

Код: vbnet
1.
2.
3.
4.
5.
Set Products = New Collection
Set Products = General.Conn.GetProducts(Folder)
For i = 1 To Products.Count
   msgbox Product.Code &  " " & Product.Description
Next i



Вопрос такой: Как вывести все значения записанные в Product.Products1C ?
...
Рейтинг: 0 / 0
19.06.2013, 10:59
    #38302795
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Определить переменную-итератор классаclsProduct и пройтись ForEach по возвёрнутой коллекции...
...
Рейтинг: 0 / 0
19.06.2013, 11:00
    #38302799
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Slash232Как вывести все значения записанные в Product.Products1C ?ну так вложенным циклом
Код: vbnet
1.
For j=1 to Product.Products1C.Count



ЗЫ1: Ты в цикле вызываешь вложенный select???
ты когда-нибудь слышал про join? Можно все сделать одним запросом

ЗЫ2: строка Set Products = New Collection не нужна
...
Рейтинг: 0 / 0
19.06.2013, 11:45
    #38302892
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Shocker.Pro, да но тогда получатся повторяющиеся значения в первом запросе т.к. во втором на каждый товар по несколько наименований
...
Рейтинг: 0 / 0
19.06.2013, 11:51
    #38302906
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Slash232да но тогда получатся повторяющиеся значения в первом запросеи что? Один запрос к БД сработает быстрее, чем тысяча, даже если будут повторяющиеся значения, отсеять их можно уже на клиенте.
...
Рейтинг: 0 / 0
20.06.2013, 18:41
    #38305308
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Хорошо а когда к каждому товару куча Наименований, куча различных других данных между собой не связанных, то получается многократное дублирование одних и тех же данных как в таком случае быть?
...
Рейтинг: 0 / 0
20.06.2013, 18:49
    #38305317
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
А почему это - проблема?
...
Рейтинг: 0 / 0
20.06.2013, 18:58
    #38305326
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Во первых потому что запрос получается очень большим и сложным, во вторых когда присоединяеш группу значений №1 то дублируеш начальные данные, присоединяеш группу значений №2 то дублируеш еще раз начальные данные + еще и группу значений №1 что мне кажется бредом.
...
Рейтинг: 0 / 0
20.06.2013, 19:21
    #38305346
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с коллекциями
Slash232Хорошо а когда к каждому товару куча Наименований, куча различных других данных между собой не связанных, то получается многократное дублирование одних и тех же данных как в таком случае быть?я не предлагаю менять результат загрузки, я предлагаю оптимизировать алгоритм. Абстрактно говорить все равно бессмысленно, нужно обсуждать конкретную ситуацию.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с коллекциями / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]