Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Блокировка БД и зависания консольного приложения, Блокировка БД при Table1.Active:=True  
:(
    Опции темы
amen
Дата 4.3.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 4.3.2010

Репутация: нет
Всего: нет



База - Paradox 7
Драйвер базы - BDE

Код

program Al3;

{$APPTYPE CONSOLE}
uses
  Windows,
  Sysutils,
  DBTables,
  DB;

var

 glal: String;  
 NameAl : String;  
 al : String;
 Table1: TTable;

begin

  Table1:=TTable.Create(nil); 
  Table1.DatabaseName:='GZ'; 
  Table1.TableName:='111.DB';
  Table1.Active:=True; 
  Table1.First; 
  while not Table1.Eof do begin
  if (Table1.FieldByName('IDA').AsString=al) then begin
  glal:=Table1.FieldByName('IDIGLV').AsString;
  NameAl:=Table1.FieldByName('NameAl').AsString;
  end;
  Table1.Next;
  end;
  Table1.Close;
  Table1.Free;

...

end.


При запуске одного экземпляра приложения, программа выполняется без проблем.
При запуске 2х и более экземпляров одновременно блокируется БД и приложения зависают на исполнении Table1.Active:=True
Если вставить данный код не в консольное приложение, а в Application то два и более приложений работают исправно.

Как добится исполнения 2х и более экзепляров  консольных приложений?
PM MAIL   Вверх
DarkProg
Дата 4.3.2010, 21:17 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 1
Всего: 19



Попробйу реализовать SQL запросом а потом обрабатывай его, я насколько понял, то Tabel постоянно обращается к базе на предмет изменения данных, а запросом ты дёрнул данные и база отдыхает.
Всё почти тоже только компонентик Query smile


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
pseud
Дата 5.3.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



Цитата(amen @  4.3.2010,  16:04 Найти цитируемый пост)
При запуске 2х и более экземпляров одновременно блокируется БД и приложения зависают на исполнении Table1.Active:=True

Забудь про TTable. Пользуйся только TQuery.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.