Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

создание таблиц бд в классе


LDV ©   (2011-12-05 13:33:00) 

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

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

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


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

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

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


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

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;


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


Ega23   (2011-12-05 13:42:00) [3]

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

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


RWolf   (2011-12-05 13:38:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо