Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.11;
Скачать: CL | DM;

Вниз

работа с таблицей бд из класса   Найти похожие ветки 

 
_qwerty_   (2011-11-28 23:08) [0]

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

1. через конструктор передавать TDBISAMDatabase и создавать экземляр объекта TDBISAMTable и работать с ним.


TNavigator = class
private
 FTableOfItems: TDBISAMTable;
public
 constructor Create(Database: TDBISAMDatabase); // <- FTableOfItems := TDBISAMTable.Create; ... FRableOfItems.Open
 destructor Destroy; override;
 procedure GoToFirst(Where: Integer);
 procedure GoToLast(Where: Integer);
 procedure GoToNext(Where: Integer);
 procedure GoToPrevious(Where: Integer);  
end;


2. через конструктор передавать уже созданный экземляр объекта TDBISAMTable и работать с ним.


TNavigator = class
private
 FTableOfItems: TDBISAMTable;
public
 constructor Create(TableOfItems: TDBISAMTable); // <- FTableOfItems := TableOfItems
 destructor Destroy; override;
 procedure GoToFirst(Where: Integer);
 procedure GoToLast(Where: Integer);
 procedure GoToNext(Where: Integer);
 procedure GoToPrevious(Where: Integer);  
end;


3. по-другому.


 
Loginov Dmitry ©   (2011-11-28 23:41) [1]


> как правильнее всего организовать доступ к таблице


С точки зрения пользователя твоей программы - без разницы, главное, чтобы работало.

С точки зрения программиста - так же без разницы, главное, чтобы было максимально понятно, логично, с минимальным объемом кода.

Если строить аналогию с DB-компонентами типа TDataSet, то более логичным выглядит первый вариант. Но тебе должно быть виднее.


 
DiamondShark ©   (2011-11-29 02:30) [2]


> 3. по-другому.

Выкинуть этот класс в корзину.
Никому нафиг не нужен класс системы ниппель: вход есть, а выхода нет. Даже побочного эффекта от изменения сакрального внутреннего состояния нет.

Ты из постановки задачи выкинул самое интересное -- ответ на основной вопрос системотехники.
А в представленном виде ответ может быть только один: "без разницы"(Ц).



Страницы: 1 вся ветка

Текущий архив: 2012.03.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1322553903
jacksotnik
2011-11-29 12:05
2012.03.11
Сохранение данных с помошью POST


15-1321134248
Кто б сомневался
2011-11-13 01:44
2012.03.11
Ктонить из форумчан хочет поиграть в Left4Dead2 или другие игры?


2-1322581917
toropoff
2011-11-29 19:51
2012.03.11
потоки и ядра


15-1322026771
И. Павел
2011-11-23 09:39
2012.03.11
Скиньте, пожалуйста, mc.exe


2-1321812059
spbstu_helpme
2011-11-20 22:00
2012.03.11
delphi численное интегрирование