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

Вниз

Query переполняет память.   Найти похожие ветки 

 
DimS75   (2002-08-29 16:43) [0]

Уважаемые мастера может это где-то и было...
конструкция вот такого вида неоправданно потребляет память.
сомнительно, что в данном случае free таки ее освобождает
или есть какой либо другой способ
заставить TQuery освободить память?

query1:=TQuery.Create(nil);
Query1.sql.clear;
Query1.sql.add("insert into a (b) values(1)");
Query1.execsql;
Query1.sql.clear;
Query1.sql.add("select id from a where b=1");
query1.open;
myid[i]:=query1.fieldbyname("id");
query1.close;
query1.free;
при цикле порядка 50000 возникает ошибка притом совершенно не в программе - потребляемая память растет до 30Мб и выпадает отладчик с совершенно левым адресом


 
oss   (2002-08-29 16:46) [1]

не квери переполняет а myid[i]


 
Turalyon ©   (2002-08-29 16:47) [2]

А может быть было бы дешевле не создавать TQuery динамически 50000 раз (и не удалять соответственно), а пользоваться одним статическим?


 
maxi ©   (2002-08-29 16:57) [3]

Не знаю, не знаю ...
У меня такая проблема была с компонентом DOA.
Я поступал так : использовал не Close ,а CloseAll.
Первый курсор не очищает и копит, второй - всё делает правильно.
Не знаю, есть ли в Query1 такая фича ... т.е. CloseAll.
Смотри, пробуй ...


 
fool ©   (2002-08-29 19:42) [4]

потребляемая память растет не из-за free, а из-за того, что
Query1.sql.add("select id from a where b=1");
query1.open;
с каждой итерацией возвращает все бОльший объем выборки


 
deleon ©   (2002-08-30 09:37) [5]

Это вина не TQuery, а BDE...



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
14-61265
asafr
2002-08-23 11:59
2002.09.19
Новые правила дорожного движения ГИБДД.


1-61157
Ag2002
2002-09-06 13:01
2002.09.19
Переход


1-61090
Сепрюк
2002-09-09 20:40
2002.09.19
Помогите новичку


7-61337
tigracrys
2002-07-09 12:49
2002.09.19
SysUtils/DecimalSeparator в dll (Delphi 6)


1-61054
maxim2
2002-09-09 13:08
2002.09.19
Как сделать чтобы нельзя было добавлять потомка к потомку