Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.004 c
2-1322641073
_qwerty_
2011-11-30 12:17
2012.03.11
работа с bookmark


1-1286692304
Lex_!
2010-10-10 10:31
2012.03.11
Работа с элементами IE


2-1322553903
jacksotnik
2011-11-29 12:05
2012.03.11
Сохранение данных с помошью POST


15-1321821005
Юрий
2011-11-21 00:30
2012.03.11
С днем рождения ! 21 ноября 2011 понедельник


15-1321384309
Faceless
2011-11-15 23:11
2012.03.11
Работа Delphi программистом в США




   Наверх