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

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

Как передать соединение с БД в подгружаемый модуль?


Страницы:   1 2 3

Matveih1 ©   (2008-10-07 19:07:00) 

Есть основная программа где есть DataBase. В основной программе устанавливается подключение к БД. По мере необходимости грузятся модули. Как передать установленное соединение в подгружаемый модуль? Если можно пример. В модуле нет DataBase. Я не понимаю что и чему надо передавать.


Сергей М.   (2008-10-08 12:52:00) [21]


> дальше мне с ним что делать?


Ну как что ?
Получить и использовать по прямому назначению, разумеется ..


clickmaker   (2008-10-08 12:51:00) [22]

> во время выполнения Query.open запрашивает пароль

LoginPrompt = false, если хочешь указать пароль в параметрах TDatabase или сделать свое окно логина


Matveih1   (2008-10-08 12:50:00) [23]


> Сказано же - значение типа TDatabase.

передаю, а дальше мне с ним что делать?


Сергей М.   (2008-10-08 12:47:00) [24]


> что передать?


Сказано же - значение типа TDatabase.

Передавать его следует фактическим параметром процедуры, объявленной и реализованной в подключаемом модуле.


Matveih1   (2008-10-08 12:44:00) [25]


> Пердай фактическим параметром этой процедуре.

что передать? Не как не пойму что передать и чему передать?


Matveih1   (2008-10-08 12:43:00) [26]

указана. Во время проектирования если выполнить query (Query.Active := true) все нормально (данные отображаются в DBGried), а вот во время выполнения Query.open запрашивает пароль


Сергей М.   (2008-10-08 12:42:00) [27]


> Чему пердать?


Пердай фактическим параметром этой процедуре.


Правильный$Вася   (2008-10-08 12:38:00) [28]


> Если при выполнении первого запроса, запраштваеься пароль
> и логин, но соединение уже есть

значит, в твоей TQuery не указана Database
укажи ту самую,из "основной программы"


Matveih1   (2008-10-08 12:33:00) [29]

Сергей М

> см. [8]

Чему пердать???

> Правильный$Вася   (08.10.08 12:11) [16]
> что значит "передать"?
> если его нужно использовать, так используй существующий

Использовать это более верно. Как использовать? Если при выполнении первого запроса, запраштваеься пароль и логин, но соединение уже есть


Сергей М.   (2008-10-08 12:13:00) [30]


> Matveih1 ©   (08.10.08 09:25) [13]


см. [8]


Правильный$Вася   (2008-10-08 12:11:00) [31]

что значит "передать"?
если его нужно использовать, так используй существующий
или тебе нужно его физически из одного места взять и в другое переложить, чтоб в первом месте не осталось?


Palladin   (2008-10-08 09:27:00) [32]

яхдр :) см. Поросенок Винни-Пух ©   (08.10.08 09:18) [8]


Vlad Oshin   (2008-10-08 09:27:00) [33]

у меня примерно так

модуль для подключения делаеь:
if ossWork.Connected then
     fSessionMessage.Msg := NQM_SET_SESSION;
     fSessionMessage.Instance := ossWork;
     Application.MainForm.Dispatch(fSessionMessage);

Апликейшн рассылает по всем модулям
     for i := 0 to Libraries.Count - 1 do
       with TLibrary(Libraries[i]) do
         if KnownMessage(TMessage(Message).Msg) then PostMessage(Message);

в модулях(в одном из)
 case TMessage(Message).Msg of
   NQM_DEPARTMENT_SHOW :
      ShowDepartment;
   NQM_SET_DEPARTMENT  :
      SetDepartment(TNQDepartmentMessage(message).DepartmentInfo);
  NQM_SET_SESSION     :
      dtmDepartment.SetSession
(TNQInstanceMessage(Message).Instance);

procedure TdtmDepartment.SetSession(ASession: TObject);
var
 i: integer;
begin
 if (ASession <> nil) then
   begin
     for i := 0 to ComponentCount - 1 do
       if Components[i] is TOracleQuery then
         TOracleQuery(Components[i]).Session := TOracleSession(ASession)
       else if Components[i] is TOracleDataset then
         TOracleDataset(Components[i]).Session := TOracleSession(ASession);


Matveih1   (2008-10-08 09:25:00) [34]

PalladinDataBase -- компонетнт для соединения с БД

Василий Жогарев

> Передавай указатель на соединение...

Чему передавать??? DataBase в модуле? не понимаю я!

Сергей М.Напишите пример.


Поросенок Винни-Пух   (2008-10-08 09:20:00) [35]

зачем нам знать что такое дабабэйз чтобы передать его параметром?


Сергей М.   (2008-10-08 09:19:00) [36]


> что нужно передать


Значение типа TDatabase в вызывающем коде.


> и чему


Переменной или параметру функции в вызываемом коде.


Василий Жогарев   (2008-10-08 09:19:00) [37]


> Matveih1 ©   (08.10.08 09:10) [7]
> Я не понимаю что нужно передать и чему!
> В модуле нужен Database? Или можно использовать Database
> из основной программы (собственно это и хочется)?


Передавай указатель на соединение...


Palladin   (2008-10-08 09:18:00) [38]

и все таки вам нужен программист... который хоть нормально здесь объяснит что это такое, DataBase


Поросенок Винни-Пух   (2008-10-08 09:18:00) [39]

хочется - передай.

procedure PeredachaDatabaysa(ADatabase : TDatabase);
begin
end;


Matveih1   (2008-10-08 09:10:00) [40]

Я не понимаю что нужно передать и чему!
В модуле нужен Database? Или можно использовать Database из основной программы (собственно это и хочется)?


Страницы:   1 2 3

Наверх

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