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

Вниз

Работа с IbConnectionBroker   Найти похожие ветки 

 
DelphiN!   (2009-03-31 10:06) [0]

Доброго времени суток!
Возникла необходимость работать с базой FireBird 2.1 в отдельном потоке, решил использовать компонент IbConnectionBroker, примеров использования данного компонента кроме одного простого не нашел, использую его в отдельном потоке следующим образом :

   for i := 0 to frmSettings.GridClubBases.RowCount-1 do
   begin
     RemouteDataSet.Close;
     if RemouteDataBase <> nil then
     begin
       RemouteDataBase.Close;
       RemouteDataBase.
       RemouteDataBase.Free;
       RemouteDataBase := nil;
       Sleep(2000);
     end;
     try

       RemouteBroker.ReleaseConnection(RemouteDataBase);
       RemouteBroker.DatabaseName := frmSettings.GridClubBases.Cells[1,i];
       RemouteBroker.Params.Text := "user_name=SYSDBA";
       RemouteBroker.Params.Add("password="+DBAPass);
       RemouteBroker.Init;
       //RemouteBroker.AvailableConnections
       Sleep(2000);
       RemouteDataBase := RemouteBroker.GetConnection;

     except
       Continue;
     end;
     RemouteDataBase.LoginPrompt := false;
     RemouteDataSet.Database := RemouteDataBase;
     RemouteDataSet.Transaction := RemouteDataBase.DefaultTransaction;

     //******************************
     RemouteDataSet.SelectSQL.Text := "SELECT * FROM USERS WHERE LOGIN_ = """+Login+"""";
     RemouteDataSet.Open;
     while (not RemouteDataSet.Eof) do
     begin
       ...
       RemouteDataSet.Next;
     end;
   end;


В цикле перебирается множество баз, в которых производится поиск необходимых данных. Однако компонент IbConnectionBroker соединяется с 1ой базой, но не отсоединяется от нее и во всех итерациях цикла работает с 1ой базой.

 Как правильно сменить базу данных?


 
DelphiN!   (2009-03-31 10:12) [1]

Не то вставил, заменить жирное, этим.

     if RemouteDataBase <> nil then
     begin
       RemouteBroker.ReleaseConnection(RemouteDataBase);
       RemouteDataBase.Close;
       RemouteDataBase.Free;
       RemouteDataBase := nil;
       Sleep(2000);
     end;
     try
       RemouteBroker.DatabaseName := frmSettings.GridClubBases.Cells[1,i];
       RemouteBroker.Params.Text := "user_name=SYSDBA";
       RemouteBroker.Params.Add("password="+DBAPass);
       RemouteBroker.Init;
       Sleep(2000);
       RemouteDataBase := RemouteBroker.GetConnection;
     except
       Continue;
     end;


 
DelphiN!   (2009-04-03 12:29) [2]

up



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1271533393
Kukulkan
2010-04-17 23:43
2010.08.27
ADOQuery + SQL-выборка по дате!!!


2-1267552320
HRustBB
2010-03-02 20:52
2010.08.27
Виртуальный диск с источником FTP


2-1273589073
Евгений Р.
2010-05-11 18:44
2010.08.27
Работа с tTollButton


2-1274343893
Bagdat
2010-05-20 12:24
2010.08.27
Помогите! как работать с Mask edit?


2-1266331529
Zalm
2010-02-16 17:45
2010.08.27
idFTP