Главная страница
    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
14-1134394729
Andy BitOff
2005-12-12 16:38
2006.01.08
Нужен модуль/класс/компонент


14-1134450960
begin...end
2005-12-13 08:16
2006.01.08
С Днём рождения! 13 декабря


8-1122551843
BFG9k
2005-07-28 15:57
2006.01.08
Масштабирование роликом мыши


14-1134418095
Knight
2005-12-12 23:08
2006.01.08
Кто знает, как перекрыть кислород?


2-1135003854
Majesto
2005-12-19 17:50
2006.01.08
Вопрос по SQL. Работа с несколькими таблицами.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский