Вниз
Скачать: CL | DM;

Ошибка с ADOQuery   Найти похожие ветки 

 
Петр ©   (2004-01-09 10:13) [0]

Добрый день ,уважаемые знатоки!

Помогите, кто может:

Возникает Exception EAccessViolation with message "Access violation at adress in XXXXXX in module msjet40.dll. Read of adress.."

Данная ошибка возникает при выполнении следующего кода:


With DM.ADOQueryOrders Do
Begin
Close;
SQL.Clear;
// ИМЕННО ПРИ ВЫПОЛНЕНИИ СЛЕДУЮЩЕЙ СТРОКИ ВОЗНИКАЕТ ОШИБКА
SQL.Add("SELECT Category.Category, SUM(Expensis.Summa) AS _SUM");
SQL.Add("FROM Expensis,Category,Goods");
SQL.Add("WHERE (Expensis.Date BETWEEN :pDate1 AND :pDate2) AND (Category.ID= Goods.ID_Category) AND (Goods.ID=Expensis.ID_Goods)");
SQL.Add("GROUP BY Category.Category");

DateStr1:=DateToStr(self.DateTimePicker1.Date);
DateStr2:=DateToStr(self.DateTimePicker2.Date);

Parameters.ParamByName("pDate1").Value:=DateStr1;
Parameters.ParamByName("pDate2").Value:=DateStr2;

Close;
Open;

End; {With DM.ADOQueryOrders}



В чем может быть причина? Я в нескольких местах подобным образом заполняю другие Query и никаких проблем.
Работаю с mdb файлом.

Всем спасибо.


 
Семен Сорокин ©   (2004-01-09 10:55) [1]

может в этот момент времени этот квери уже используется (по таймеру например)?


 
Петр ©   (2004-01-09 11:16) [2]

Нет не используется. Он вызывается впервые. Может быть косяк с ADO?


 
Строитель   (2004-01-09 11:20) [3]

2 Семен Сорокин
События таймера обрабатываются в основном потоке, поэтому никакого параллельного использования ресурсов быть не может.

2 Петр
Как-то я с таким сталкивался, но так толком и не разобрался. Извратился так:

var
S: TStringList;
begin
S := TStringList.Create;
try
S.Add("...");
...
SQL.Assign(S);
finally
S.Free;
end;
...
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
14-2310
VID
2004-01-11 17:26
2004.02.02
Настройки Windows2000


3-1989
BorisUK
2004-01-08 14:29
2004.02.02
проблемы с DCOM сервером


14-2303
ИдиотЪ
2004-01-12 13:25
2004.02.02
Спящий режим


7-2396
Demetrius2003
2003-11-16 13:11
2004.02.02
Как дебагнуть ДЛЛ???


14-2302
Hint
2004-01-12 18:17
2004.02.02
Microsoft Software Update Service (SUS)




   Наверх