Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизОшибка с 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c