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

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

Зависание программы при обращении к БД из отдельного потока [D6]


Страницы:   1 2

DelphiN! ©   (2007-03-23 08:24:00) 

Есть процедура, которая запускается из отдельных потоков и делает выборку из небольшой таблицы(<200 записей), а далее ищет и возвращает значение определененого поля, иногда при выполнении кода DataSet.Open;все приложение зависает, без вывода каких либо ошибок, отладчик останавливается на данной строчке и далее выполнение не проходит, в чем может быть причина зависания ума не приложу, вот код данной процедуры :


function TDATA.IpToCardNo(IP: String): String;
var
 DataSet: TIbDataSet;
 Transaction: TIbTransaction;
begin
 try
   DataSet := TIbDataSet.Create(nil);
   Transaction := TIbTransaction.Create(nil);
   DataSet.Database := IBDatabase1;
   Transaction.DefaultDatabase := IBDatabase1;
   DataSet.Transaction := Transaction;

   Result := '';
   DataSet.SelectSQL.Text := 'SELECT * FROM SEANSES';
    DataSet.Open; //Зависает программа тут
   DataSet.FetchAll;

   DataSet.First;
   if DataSet.Locate('COMP_',IP,[loCaseInsensitive]) then
     Result := DataSet.FieldByName('IsCard_').AsString;
 finally
   DataSet.Free;
   Transaction.Free;
 end;
end;


Сейчас есть мысли, что данная проблемма происходит, когда процедуру вызывают более N-ного числа потоков одновоременно и в следствии того что на компьютере установлена ОС Windows XP  обладающая рядом ограничений на колличество сетевых подключений, подключение к БД не происходит, но почему не появляется сообщение об ошибке и программа просто зависает?

PS: Используется СУБД Firebird 1.5, база данных расположена на том-же компьютере, на котором осуществляется работа приложения

Заранее благодарен за любую помощь в решении данной проблеммы!


Sergey13   (2007-03-23 08:30:00) [21]

А какой смысл тянуть весь (хоть и небольшой) набор данных на клиента? Почему не вытягивать только нужное поле по заданному IP-шнику тем же запросом?


Страницы:   1 2

Наверх

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