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

Вниз

IB7.1 очень большой расход памяти сервером   Найти похожие ветки 

 
Один   (2007-03-16 16:03) [0]

1.
function Query(const Q: String): TIbDataset;
var iTrn: TIbTransaction;
begin

 if (cfmDesktop<>nil) then begin
   cfmDesktop.imConnect.Show;
   cfmDesktop.imConnect.Update;
 end;
 iTrn := TIbTransaction.Create(nil);
 iTrn.DefaultDatabase := dmGlobal.ibDatabase;
 Result := TIbDataSet.Create(nil);
 Result.Database := dmGlobal.ibDatabase;
 Result.Transaction := iTrn;
 Result.SelectSQL.Text := Q;
 Result.Active :=True;
 try
   Result.Prepare;
 except
   Result.Close;
 end;
 if (cfmDesktop<>nil) then cfmDesktop.imConnect.Hide;
end;


2.
function FinalizeQuery(var iDS: TIbDataSet): Boolean;
begin
 Result := True;
 try
   iDS.Close;
   iDS.Free;
 except
   Result := False;
 end;
end;


Подскажите, пожалуйста. Может быть, я где-то не завершаю верно запрос к БД? Пока записей в БД 100-200 ещё терпимо, но больше 200 - жутко медленная работа + разрастание ibserver.exe до 100-150 Мбайт при каждом запросе...


 
Desdechado ©   (2007-03-16 16:12) [1]

Все зависит от запроса и структуры данных.

ЗЫ var iDS: TIbDataSet - зачем тут VAR ?


 
DrPass ©   (2007-03-16 16:13) [2]


> try
>    Result.Prepare;
>  except
>    Result.Close;
>  end;

Как минимум, убрать нафиг. Насчет почему столько памяти жрет - неизвестно. Впрочем, мне еще не приходило в готову вызывать prepare после открытия датасета :)


 
Крик   (2007-03-16 16:15) [3]


> Все зависит от запроса и структуры данных.

а поподрбнее?


> убрать нафиг.

а можно начинающим подсказать, как правильно датасет обрабатывать? :-)


 
Desdechado ©   (2007-03-16 16:54) [4]

Нарушение п.5 правил: "Запрещается Преднамеренное использование разных ников в одной ветке."

> поподрбнее?
Это к тебе вопрос.


 
Sergey13 ©   (2007-03-16 17:00) [5]

> [0] Один   (16.03.07 16:03)

А какой смысл во всей этой бодяге? Почему нельзя просто выполнить запрос там, откуда это вызывается?


 
Один   (2007-03-17 07:57) [6]

Desdechado это не преднамеренное... в куках сохранилось, да и какая разница!
Sergey13 Потому что хотелось какой-то универсальности в выполняемости запросов... Форм много, и писать много код как-то не хочется. Разве так нельзя?



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
2-1174396361
nit_ro
2007-03-20 16:12
2007.04.08
как сделать базу данных в Borland Developer Studio 2006?


1-1171273611
hex1287
2007-02-12 12:46
2007.04.08
Как перекрыть конструктор, если он не виртуальный?


1-1171121236
Observer
2007-02-10 18:27
2007.04.08
Asm and Delphi


2-1174416546
Аноним
2007-03-20 21:49
2007.04.08
Поиск в TRichEdit с помощью TFindDialog СНИЗУ ВВЕРХ


15-1173670022
Slider007
2007-03-12 06:27
2007.04.08
С днем рождения ! 11 марта