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

Вниз

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

 
LDV   (2011-12-05 13:33) [0]

В классе TMyClass = class(TObject) будет создаваться и открываться несколько таблиц БД. Для того чтобы их создания необходимо передавать DatabaseName, SessionName. Как правильнее всего сделать:

1. Передавать через конструктор const DatabaseName, SessionName: string;

2. Передавать через конструктор Database: TIBDatabase;


 
RWolf ©   (2011-12-05 13:38) [1]

передавать имя БД, я считаю.
придётся создавать TIBDatabase, зато можно будет использовать класс в разных потоках.


 
Ega23 ©   (2011-12-05 13:42) [2]

Зависит от.
Если разные потоки - то передавать полный ConnectionString (Host, Port, DBName, UserName, Pwd, ещё какие-либо параметры)
Если поток один - просто передавать коннект.

Это вне зависимости от СУБД.


 
ДВМ   (2011-12-05 13:59) [3]

Ok, Еще один момент тогда хочу уточнить. у меня есть 2 класса TMyClass1 = class(TObject) и TMyClass2 = class(TObject).

TMyClass2 всегда будет создаваться только в внутри класса TMyClass1. В нем также будут создаваться таблицы. Как правильнее организовать связь чтобы для создания и открытия таблиц в обоих классах использовались одни теже DatabaseName, SessionName).


TMyClass2 = class(TObject)
public
 constructor Create(MyClass1: TMyClass1);
 function MyMethod1: Boolean; //<- создаются и открываются таблицы БД
end;


TMyClass1 = class(TObject)
private
 FMyClass2: TMyClass2;
public
 constructor Create(const ADatabaseName, ASessionName: string); //<-создаются и открываются таблицы БД, создается экземпляр класса TMyClass2.
end;


незнаю насколько это грамотно, но пока что думаю сделать в классе TMyClass1 property DatabaseName, SessionName и из класса TMyClass2 через передаваемый в конструкторе параметр MyClass1 читать их значения и создавать таблицы


 
Медвежонок Пятачок ©   (2011-12-05 14:01) [4]

Правильнее не заморачиваться с классами, тем более их почему-то стало уже больше одного.

Обычная библиотечная функция и все.



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
6-1253273863
McNail
2009-09-18 15:37
2012.03.18
Как получить Cookies с сайта? (Indy 9)


15-1322112877
MacroDenS
2011-11-24 09:34
2012.03.18
У меня родился сын!


8-1219590082
Agent[007]
2008-08-24 19:01
2012.03.18
Direct3D


2-1322823148
CheCoder
2011-12-02 14:52
2012.03.18
Как отправить содержимое Image1 на печать?


2-1322986484
I_D
2011-12-04 12:14
2012.03.18
Типизированный текстовый файл. Переход с Delphi 7 на Delphi XE