Mam bazę na MSSQL i Delphi.
Do łączenia używam komponentów ADO
I czasem, kiedy robię np coś takiego:
AdoDataSet.CommandText :=
'SELECT * FROM tabela
WHERE id = :id'
to na tej linijce dostaję Acces Violation w module msvcrt.dll
A później zamieniam to na coś takiego:
AdoDataSet.CommandText :=
DECLARE @id INT
SET @id - :id
SELECT * FROM tabela
WHERE id = @id'
i już błędu nie ma !
Najdziwniejsze że czasem mu nie przeszkadza parametr na samym końcu, ale jak coś się zmieni w zapytaniu to znowu błąd się pojawia!
Jakaś mądra głowa może mi powiedzieć czemu się tak dzieje ?