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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.085 c
1-1172751096
infom
2007-03-01 15:11
2007.05.06
Приложение для двух мониторов...


11-1155058319
Stals
2006-08-08 21:31
2007.05.06
Как прицепить словарь от Microsoft Office


3-1171883030
valua
2007-02-19 14:03
2007.05.06
База на сервере и IBExpert


15-1176117920
Andre_s
2007-04-09 15:25
2007.05.06
Плата видеонаблюдения...


4-1165170629
Dmitry_177
2006-12-03 21:30
2007.05.06
Узнать высоту, ширину, цвет точки HBITMAP-а без модуля Graphics





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