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

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



Память: 0.46 MB
Время: 0.004 c
2-1322804005
cahier
2011-12-02 09:33
2012.03.18
Вопрос по TStringList


15-1322068711
Y
2011-11-23 21:18
2012.03.18
Как стать продвинутым пользователем?


15-1321901455
KilkennyCat
2011-11-21 22:50
2012.03.18
скока стоит...


15-1315555388
Василий Жогарев
2011-09-09 12:03
2012.03.18
Перевод заголовочного файла *.h в подключаемый модуль *.pas


6-1253273863
McNail
2009-09-18 15:37
2012.03.18
Как получить Cookies с сайта? (Indy 9)




   Наверх