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

Вниз

Глючит BDE!Помогите!!!   Найти похожие ветки 

 
MasterDenis   (2004-02-09 13:13) [0]

Система управления очередью для банка.
Все действия пишутся в базу данных.
Запрос формирую через TQuery. (внизу)
Где-то раз в 25-30 запросов возникает исключение и запрос не проходит, соответственно продседура где эта хрень происходит аварийно завершается.
Что делать?
Вроде обошел эту беду при помощи try .. except, но это не решение...
Помогите!!!

Str1 := DateToStr(Date);
Str2 := TimeToStr(Time);
Form1.Query1.Close; // Формируем SQL запрос
Form1.Query1.SQL.Clear;
Form1.Query1.SQL.Add("INSERT INTO "" + BaseName + "" (FAMILY,OPDATA,OPTIME,CLIENT,OPERATION)");
Form1.Query1.SQL.Add("VALUES ("" + Kassa[ToDevice.i,ToDevice.j].Name + "","" + Str1 + "","" + Str2 + "","" + IntToStr(Kassa[ToDevice.i,ToDevice.j].Client.Num) + "","+1")");
Form1.Query1.ExecSQL;


 
Sandman25   (2004-02-09 13:16) [1]

1. Какое исключение?
2. Почему не используете параметры? Поставлю я в качестве разделителя даты запятую, и все, конец программе.
3. В Kassa[ToDevice.i,ToDevice.j].Name могут быть кавычки?
4. Почему сразу глюк BDE, а не Ваша ошибка?


 
MasterDenis   (2004-02-09 14:27) [2]

1.Ошибка "Access Vialation ...".
2.С параметрами занком плохо, поэтому просто проверяю правильность данных и "неправильные" символы заменяю на "правильные".
2.Ковычки в Kassa[ToDevice.i,ToDevice.j].Name быть не могут, это я контролирую.

А глюк именно BDE потому, что нет никакой системы! Я в режиме отладки все запросы просмотрел. Все корректно.
У меня такое ощущение, что при поступлении в 1 сек 5 - 10 запросов начинается беда.
Может нужно настройк в BDE сделать?


 
sniknik   (2004-02-09 14:38) [3]

> 1.Ошибка "Access Vialation ...".
обрашение к несушествуюшим обьектам

> Kassa[ToDevice.i,ToDevice.j].Name
> Kassa[ToDevice.i,ToDevice.j].Client.Num
обьекты

замени на константы(так чтобы все данные тобой в строке запроса прописались гарантировано, вместо Kassa[ToDevice.i,ToDevice.j].Name
подставь Str1 к примеру и т.д.) и проверь кто на самом деле виноват.


 
MasterDenis   (2004-02-09 14:53) [4]

Так ведь ошибка вылетает строго на Form1.Query1.ExecSQL;
Я сейчас ее запрятал:
try
Form1.Query1.ExecSQL;
except
end;

И все ОК.
А так ошибка вылезала бы в строке

Form1.Query1.SQL.Add("VALUES ("" + Kassa[ToDevice.i,ToDevice.j].Name + "","" + Str1 + "","" + Str2 + "","" + IntToStr(Kassa[ToDevice.i,ToDevice.j].Client.Num) + "","+1")");


 
Anatoly Podgoretsky   (2004-02-09 15:02) [5]

Sandman25 © (09.02.04 13:16) [1]
А на кого еще валить, не на себя же?


 
MasterDenis   (2004-02-09 15:23) [6]

Вам смешно... А у меня вилы из бока торчат...


 
Sandman25   (2004-02-09 15:26) [7]

Если в секунду выполняется 5-10 запросов, то нужно познакомиться с параметрами, и использовать параметризованный запрос. Глядишь, и BDE перестанет "глючить"...



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

Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-12237
lucky4me
2004-01-29 13:48
2004.03.05
TDBGrid: Как выделить строку программным путем?


1-12319
111
2004-02-21 19:02
2004.03.05
*.txt ; *.rtf


14-12506
3APA3A
2004-02-11 21:53
2004.03.05
А как определяют - мастер ты или нет?


3-12268
Lapor
2004-02-06 19:03
2004.03.05
CREATE INDEX


6-12476
ANT0
2003-12-30 10:08
2004.03.05
Обмен сообщениями





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