Hallo,
ich nutze TurboDelphi 2006 unter XP und MS
SQL Server 2000 SP3a.
Unten stehender Code springt bei
FAdoCommand.CommandText := Query;
raus und gibt den Fehler "
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse ... in Modul 'msvcrt.dll'. Schreiben von Adresse ... ' aufgetreten"
Ist die
ADO Komponente auf dem xp-System kaputt oder warum läuft der Code auf einem Vista-System mit BDS2006 ???
Delphi-Quellcode:
procedure TAdoComponent.ErstelleParametrisiertenBefehl(
Query:
string);
begin
FAdoCommand := TADOCommand.Create(
nil);
FAdoCommand.Connection := FAdoSteuerelement;
FAdoCommand.CommandText :=
Query;
FAdoCommand.CommandType := cmdText;
end;
SQL-Code:
select *,
(select max(sv.nummer) from
kunde k
join vorgang vor on (k.kunden_id = vor.kunden_id)
join stand_vorgang sv on (sv.stand_vorgang_id = vor.stand_vorgang_id)
where k.kunden_id = k1kunden_id
and vor.kampagne_id = kamkampagne_id
) as max_svnummer,
(select max(sv2.nummer) from
kunde k
join rel_kuka relkuka on (k.kunden_id = relkuka.kunden_id)
join stand_vorgang sv2 on (sv2.kampagne_id = relkuka.kampagne_id)
where k.kunden_id = k1kunden_id
and relkuka.kampagne_id = kamkampagne_id) as max_kamsvnummer
from
kundenliste
where kamkampagne_id = :kampagne_id
Für hilfreiche Hinweise wäre ich sehr dankbar.
Gruß
Oliver