AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.07.2006, 10:37   #1  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
SQL-запросы вещь полезная, но dll для этих целей создавать необязательно, достаточно обойтись ADO.

Кстати часто возникающая ситуация для использования таких запросов:
есть таблица, для примера возьмем, скажем, протокол взаимодействий.
есть задача: вывести на экран список взаимодействий выбранного департамента.

Понятно, что есть три типичных варианта действий:
1. Перебираем все записи таблицы "Протокол взаимодействий" и смотрим, попадает ли указанный там сотрудник в нужный нам департамент
2. Перебираем всех сотрудников департамента и по каждому их них фильтруем таблицу "Протокол взаимодействий"
3. Завести в протокол взаимодействий вычисляемое поле "Департамент", по которому собственно и фильтровать.

Недостаток у все этих вариантов один - большое количество генерируемых навижн sql-запросов, а следовательно большое время выполнения (особено при существенном количестве записей).

Третий вариант, например, отпадает сразу - сами знаете как работает фильтрация по вычисляемому полю. Какой вариант выбрать из двух оставшихся - сильно зависит от количества записей в протоколе, а также от количества сотрудников.


Но есть и еще один вариант, самый скоростной, подходящий правда только SQL-версии (которой думаю пользуется большинство): прямой SQL-запрос через ADO.

Для демонстрации такого варианта я написал кодюнит, на вход которому подается текст -SQL запроса. На выходе кодюнит возвращает таблицу отфильтрованную согласно тексту запроса.

Демка содержит два объекта - форму 90000 и кодюнит 90000.
Форма предназначена исключительно для визуализации - пишем там запрос, нажимаем кнопочку, получаем результат. В качестве примера используется "План Счетов" (G/L Account)

[attachment=481:attachment]
Вложения
Тип файла: rar SQLRequest.rar (11.0 Кб, 177 просмотров)
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:45.