Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Вниз

Too many open tables   Найти похожие ветки 

 
Tigra   (2005-12-20 17:55) [0]

Есть приложение, которое может формировать отчет из данных таблиц (отчет несколько замороченный). Делается это на локале при помощи query.execsql. Только select.

Квери в приложении 2шт.

2 раза отчет формируется, на третий выдает ошибку : Too many open tables.

Куда рулить?


 
Anatoly Podgoretsky ©   (2005-12-20 18:19) [1]

Как понимать при "помощи query.execsql. Только select."
Где код?


 
Tigra   (2005-12-20 18:22) [2]

Моя процедура делающая запросы

function TForm1.sql (sql_string:string; act : boolean): boolean;
begin
Result:=True;
Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Add(sql_string);

try
 Query1.ExecSQL;
except
 Result:=false
end;
if act then Query1.Active:=true;

end;


Ее вызывает много раз в цикле другая процедура:

       Form1.sql("SELECT * FROM oper WHERE D=""+datetostr(DateTimePicker1.Date)+"" AND REESTR="+Edit1.Text+" AND U="+inttostr(form1.user_code)+" AND VAL1=""+val[k]+"" AND VAL2=""+val[l]+"" AND CODE=""+kod_oper[j]+"" AND ((Code_Stran<>"643" OR Code_Stran="") AND VAL1<>"" AND VAL2<>"")",true);


Отрабатывает только пару раз =(


 
umbra ©   (2005-12-20 18:29) [3]

рулить надо в BDE Administrator\System\INIT, параметр MAXFILEHANDLES


 
Плохиш ©   (2005-12-20 18:33) [4]


> try
>  Query1.ExecSQL;
> except
>  Result:=false
> end;
> if act then Query1.Active:=true;

Это ещё, что за порнография?


 
Anatoly Podgoretsky ©   (2005-12-20 18:39) [5]

Tigra   (20.12.05 18:22) [2]
А это как понимать ExecSQL и SELECT, должна быть рантайм ошибка.
Как затем понимать if act then Query1.Active:=true;
Где закрытие старого запроса?


 
Tigra   (2005-12-20 19:36) [6]


> Плохиш ©

Это не порнография, просто если нужны результаты запроса (при select), то делаю его активным, в иных случиях - нет.


> Где закрытие старого запроса?


А его закрывать надо? =) Я не знал =)
query.close?


 
Плохиш ©   (2005-12-20 22:16) [7]


> Tigra   (20.12.05 19:36) [6]
>
> > Плохиш ©
>
> Это не порнография

Может почитаешь для начала чего-нибуть?


 
Tigra   (2005-12-21 08:08) [8]


> Может почитаешь для начала чего-нибуть?

Я читаю =)

По делу ты так ничего и не сказал. А мог бы.


 
ЮЮ ©   (2005-12-21 08:49) [9]

Тогда уж лучше так

if act then
 try
   Query1.Active:=true;
 finally
   Result := Query1.Active;
 end
else
 try
   Query1.ExecSQL;
   Result:=true;
 except
   Result:=false
 end;

Может и впрямь, выполняя ExecSQL для селективного запроса, ты безвозвратно используешь ресурсы БДЕ?


 
ЮЮ ©   (2005-12-21 08:51) [10]

и поубивай временные файлы таблиц-результатов запросов, которые остаются при аварийном завершении программы


 
Tigra   (2005-12-21 09:49) [11]


> ЮЮ ©   (21.12.05 08:49) [9]


> Может и впрямь, выполняя ExecSQL для селективного запроса,
>  ты безвозвратно используешь ресурсы БДЕ?


На сколько понял так и получается. Почитал хелп, понял для SELECT нада OPEN делать. Все зажило. Всем спасибо.



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

Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
11-1116454469
Vans
2005-05-19 02:14
2006.01.08
Дада про taskbar


1-1133802665
The Only
2005-12-05 20:11
2006.01.08
смена языка


2-1134909043
Bounty
2005-12-18 15:30
2006.01.08
WebBrowser


2-1135023764
Majesto
2005-12-19 23:22
2006.01.08
Вопрос по SQL. Работа с таблицами.


1-1133872723
Некто Аполло
2005-12-06 15:38
2006.01.08
Version Info для DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский