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

Вниз

Закрывается приложение   Найти похожие ветки 

 
IgorMish   (2007-04-16 15:41) [0]

Уважаемые, подскажите. Есть приложение, заношу данные в базу (парадокс), и в один прекрасный момент при нахатии кнопки "сохранить" приложение закрывается без каких либо сообщений. Процедура заключается в записи данных из TQuery в TTable. При работе приложения в каталоге программы образуются файлы типа _QSQ1.DB и QSQ1.MB. На сколько мне известно это от SQL-запросов. Но вроде все запросы закрываю, а файлов образуется порядка 100-150. Может происходит какое-то переполнение и сброс программы из-за них. Что посоветуете ?
Спасибо.


 
Desdechado ©   (2007-04-16 15:51) [1]

> приложение закрывается без каких либо сообщений
Исключительные ситуации подавляешь, имхо.

> в каталоге программы образуются файлы типа _QSQ1.DB
А ты у Session.PrivateDir выстави.

> Что посоветуете ?
Не открывать много запросов с большими объемами данных.


 
IgorMish   (2007-04-16 16:01) [2]

>А ты у Session.PrivateDir выстави.
Это где такое ? Можно поподробнее.

А запросов много вроде и не должно быть, выполняется запрос подсчета данных, после запроса пишу Query.Close, но после каждого запроса прибавляются по 5-6 новых файлов, а старые не пропадают. Может что-то нетак закрываю?


 
Desdechado ©   (2007-04-16 16:10) [3]

> но после каждого запроса прибавляются по 5-6 новых файлов а старые не пропадают
1 запрос - 1 файл (или 2, если с индексом).

> Может что-то не так закрываю?
Ctrl-F2 забудь.


 
ЮЮ ©   (2007-04-17 06:07) [4]

>и в один прекрасный момент при нахатии кнопки "сохранить" приложение закрывается без каких либо сообщений.

Вот что значит бездумно подавлять исключения.


 
IgorMish   (2007-04-17 08:04) [5]

Никаких исключений в этой процедуре не подавляется, только Append и Post. Я нашел, что сброс программы происходит после запросов подсчета записей. Есть кнопка, по которой выполняются по два запроса для двух таблиц, все запросы закрываются (Query.Close). Я отключил все TQuery, но после 50-го нажатия на эту кнопку (данные не вносятся и не меняются, только пересчитываются) начинают появлятся вышеописанные файла (по 4) , а после 60-го нажатия программа закрывается.
ПЛИЗ , подскажите в чем может быть дело, что можно предпринять, в чем ошибка ???


 
ЮЮ ©   (2007-04-17 08:24) [6]

> подскажите в чем может быть дело, что можно предпринять,
> в чем ошибка ???


Ошибка исключительно в твоём коде, которого мы ек видим.


> подскажите в чем может быть дело, что можно предпринять

Выполнить всё то же под IDE c включенным Stop on Delphi Exceptions


 
IgorMish   (2007-04-17 08:45) [7]

Вот код, 4 таких запроса, только меняется услове WHERE и присваивается значение разным переменным: SB и т.д.:

   Query.Close;
   Query.SQL.Clear;
   Query.SQL.Append("SELECT TipOb, COUNT(*) FROM ""Oborud2.db"" WHERE  Raion="""+Raion.FieldByName("Raion").AsString+""" GROUP BY TipOb, Raion");
   Query.ExecSQL;
   Query.Active := True;
   SB := Query.FieldByName("Count(*)").AsInteger;
   Query.Close;


 
ЮЮ ©   (2007-04-17 08:52) [8]

Query.ExecSQL; Убери совсем, не для этого этот метод. Кстати может быть причиной появления неуправляемых  _QSQ1.DB

первый   Query.Close; лишний, т.к.
1) в конце метода он закрыт
2) Изменение SQL (Clear, Append) закроет открытый НД автоматически


 
IgorMish   (2007-04-17 09:28) [9]

СПАСИБО, ЮЮ. Файлы перестали появляться и приложение вроде не выскакивает.

P.S. Для общего развития: а в каких случаях нужен Query.ExecSQL ?


 
ЮЮ ©   (2007-04-17 09:40) [10]

Для запросов, не возвращающих набор данных. Чаще всего это INSERT, DELETE и UPDATE предложения.
Для запросов, возвращающих НД, используют метод Open (или Active := true).


 
IgorMish   (2007-04-17 09:49) [11]

СПАСИБО.



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
15-1175885262
МегаПупс
2007-04-06 22:47
2007.05.06
Устанока компонентов


15-1175875277
Суслик
2007-04-06 20:01
2007.05.06
Как написать адрес в России на английском?


2-1176796245
allucard
2007-04-17 11:50
2007.05.06
Чтение файла


15-1175782636
PRed
2007-04-05 18:17
2007.05.06
Посоветуйте у какого производителя взять ноутбук!


15-1176068520
SerJaNT
2007-04-09 01:42
2007.05.06
Компьютер не включается