Работа с наборами данных в Datamodule

У меня есть DataModule, и я хочу, чтобы внутри него было много (> 50) наборов данных. Я планирую запрашивать данные из этих наборов данных с помощью функций и процедур.

Вопрос в том, как лучше всего организовать наборы данных в DataModule?

Я вижу три варианта:

  1. Один компонент времени разработки для каждого набора данных.
  2. Один общий набор данных компонентов времени разработки для всех наборов данных. Текст команды SQL и другие свойства устанавливаются динамически внутри соответствующей функции или процедуры.
  3. Нет компонентов времени разработки. Каждый набор данных создается во время выполнения внутри соответствующей функции, затем он возвращает данные этой функции и уничтожается.

Как вы думаете, какой путь лучше? Или ничего из вышеперечисленного? Есть ли другие способы эффективно организовать множество наборов данных внутри DataModule?


person Vasiliy Volkov    schedule 08.05.2013    source источник


Ответы (3)


Я использовал следующую настройку в модуле данных:

1) Компоненты времени разработки с запросами времени разработки для:

  • данные, которые будут присутствовать в вашем приложении в течение более длительного времени, например данные для взаимодействия с пользователем, такие как сетки. Часто с поставщиками и наборами клиентских данных, объединенными с компонентом запроса.

  • наборы данных для повторных поисков (обычно с параметрами)

Я дал им имена, ссылающиеся на сущности, которые они извлекали / обновляли. Понятно для отладки и для других людей.

2) Компоненты времени разработки без SQL для специальных запросов и обновлений, обычно это просто общие имена QryLookup и QryUpdate. Я просто устанавливаю SQL во время выполнения и выполняю. Часто без источника данных и т. Д.

person Jan Doggen    schedule 08.05.2013

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

person Sherlock70    schedule 08.05.2013

Это хороший выбор в зависимости от вашего проекта.

Вариант 1. Сильно повторяющийся код в сопровождении. Трудно найти набор данных, который нужно отредактировать, чтобы он был определен в. dfm. Непростая отладка.

Вариант 2. Меньше кода для поддержки, но сложнее редактировать с длинными строками SQL !. Легкая отладка.

Вариант 3. Думаю, он очень похож на вариант 2.

person David Miró    schedule 08.05.2013