Главная страница
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.007 c
1-1288683989
pooh
2010-11-02 10:46
2012.03.18
аналог текстового редактора


3-1273165307
Роман
2010-05-06 21:01
2012.03.18
DataSnap


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


2-1323178056
Gu
2011-12-06 17:27
2012.03.18
разделить char на 2 байта


15-1322221527
И. Павел
2011-11-25 15:45
2012.03.18
Они убили Beep()!