Страница 1 из 1
люди помогите с ошибкой- не знаю че делать!
Добавлено: 13 июн 2007, 18:17
Anticler
Помогите пожалуйста - диплом через неделю!!!
У меня прога с базами данных. Ввел данные - работала нормально, потом дополнил данные - все пипец!
Суть такова:
Кнопка - при помощи SQL с условием вводит суммы в таблицу.
Потом начала вылетать ошибка:
"Access violation at address 4BE34726 in module 'IDAPI32.DLL'. Read of address 00000000."
Прверял по строкам вылетала на Query.Open;
А теперь вылетает на Query.Clear;
IdAPI32.dll - библиотека из BDE.
Даже незнаю, что и делать. На всех нормальных компах такая же фигня.

Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 13 июн 2007, 20:05
Лелик_1044
это ничего не говорит
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 14 июн 2007, 16:34
Anticler
ВОТ КОД
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.add('SELECT COUNT( id ) as kol FROM "admn.DB" Adm ');
Query1.SQL.add('WHERE (Mes ='+ IntToStr( DBGridEh2.Col-4)+' ) AND (Adm."Year" = '+ ComboBox2.Text+')');
>Query1.Open; // ************сначала здесь выбивало
Query1.Close;
>Query1.SQL.Clear; // ************ А ТЕПЕРЬ ЗДЕСЬ
Query1.SQL.add('SELECT COUNT( Adm.NorDok ) KOL');
Query1.SQL.add('FROM "admn.DB" Adm ');
Query1.SQL.add(' INNER JOIN "NorDocN.db" Nordocn ON (Adm.NorDok = Nordocn.Doc)');
Query1.SQL.add(' INNER JOIN "NorDocC.db" Nordocc ON (Nordocn.Id_cat = Nordocc.Id) ');
Query1.SQL.add('WHERE (Adm."Year" = :yr) and (Adm.Mes = :ms) ');
Query1.SQL.add('GROUP BY Nordocc.Id, Nordocc.Id ');
Query1.Prepare;
Query1.ParamByName('yr').AsInteger := StrToInt( ComboBox2.text);
Query1.ParamByName('ms').AsInteger := DBGridEh2.Col-4;
Query1.Open;
В Query ничего не выставлял все опции по умолчанию (кроме алиаса)
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 15 июн 2007, 16:39
Лелик_1044
1) лучше делать так query1.sql.text:='select * from example';
2) может ошибка в запросе?
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 16 июн 2007, 08:33
SergeyS
хз в чем проблема, но характер сообщения об ошибке наводит мысль на то, что у тебя что-то с BDE.
Вариант 1. Попробуй запустить свою программу на другой машине. Если ошибка исчезнет, копай в этом направлении.
Вариант 2. Попробуй сменить BDE на ADO. BDE считается устаревшей технологией и borland включает её в дистрибутив только для совместимости.
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 16 июн 2007, 14:45
Anticler
1. на всех нормальных компах пробовал - все тоже самое!
2. на сменить Bde на Ado??
трудновато будет - все таблицы пределывать надо

.
может вообще ошибка компилятора?
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 18 июн 2007, 06:55
SergeyS
" писал(а):трудновато будет - все таблицы пределывать надо
а много ли таблиц?
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 19 июн 2007, 19:56
YurikGL
Bde - выкинуть... пользовать, например, Ado.
ошибка говорит о том, что кто-то пытается оперировать со свойствами несуществующего (т.е. либо еще не созданного, либо удаленного) объекта.
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 22 июн 2007, 14:25
Anticler
Люди заработало !!!
Причем, абсолютно ничего не менял !!!
Даже не знаю что могло повлиять. Неделю парился и тут вдруг работает без ошибок.
Запускаю старый ехе - эта ошибка, а новый только что откомпилированный - как часики!!
Хотя странно все это... я ведь на многих компах его копилировал а результата небыло.
Re: люди помогите с ошибкой- не знаю че делать!
Добавлено: 22 июн 2007, 16:52
Игорь Акопян
rebuild all?