![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пробемы с ADO
DmitryG. © (2009-02-19 22:28:00)При установке запроса вида (запрос к MSSQL 2005):
select top 100 A.IDAdress, A.ADDRESS,
first = (select top 1 I.ID from SLID I where I.TypeID = 'A' and A.IDAdress = I.IDAdress),
second = (select top 1 I.ID from SLID I where I.TypeID = 'B' and A.IDAdress = I.IDAdress),
A.IDOS, A.IDTIP, A.IDDown, D.NMDown
from SLAdress A WITH (NOLOCK)
left join SLDown D WITH (NOLOCK) on A.IDDown = D.IDDown
left join SLTYPE T WITH (NOLOCK) on T.IDTIP = A.IDTIP
left join SLOS O WITH (NOLOCK) on A.IDOS = O.IDOS where A.IDOS = :IDOS;
выводит следующую ошибку (причем, на SQL запросы, в которых ОДНОВРЕМЕННО присутствуют ПОДЗАПРОСЫ И ПАРАМЕТРЫ)
Текст ошибки:
Debug Exception Notification :
Project ADO.exe raised exception class EAccessViolation with message 'Access violation at address 77C3809E in module 'msvcrt.dll'. Write of address 00C9D000'.
Debug Exception Notification :
Project ADO.exe raised exception classEOLeException massage 'Неправильно определен объект Parameter. Представлены несовместимые или неполные сведения'.
ADO ERROR:
'Неправильно определен объект Parameter. Представлены несовместимые или неполные сведения'.
Делаю так:
var
Query : TADOQuery;
Request : string;
begin
Query := TADOQuery.Create(nil);
Query.ConnectionString := 'Provider=SQLOLEDB.1; Initial Catalog = Base; Data Source =SERVER ; User ID = User;'+ 'Password=';
Request := 'select top 100 A.IDAdress, A.ADDRESS, '+
'first = (select top 1 I.ID from SLID I where I.TypeID = 'A' and A.IDAdress = I.IDAdress),'+
'second = (select top 1 I.ID from SLID I where I.TypeID = 'B' and A.IDAdress = I.IDAdress),'+
' A.IDOS, A.IDTIP, A.IDDown, D.NMDown '+
' from SLAdress A WITH (NOLOCK) '+
'left join SLDown D WITH (NOLOCK) on A.IDDown = D.IDDown '+
'left join SLTYPE T WITH (NOLOCK) on T.IDTIP = A.IDTIP '+
' left join SLOS O WITH (NOLOCK) on A.IDOS = O.IDOS where A.IDOS = :IDOS';
Query.SQL.Text := Request ; // ПРИ ВЫПОЛНЕНИИ КОМАНДЫ ВЫВОДИТ ОШИБКУ!!!
Query.Open;
end;
Скачал обновление к ADO - то же самое, только сообщение об ошибке стало на русском :-)
sniknik (2009-02-19 22:39:00) [21]> 'Неправильно определен объект Parameter. Представлены несовместимые или неполные сведения'.
где параметр то?
Медвежонок Пятачок (2009-02-19 22:33:00) [22]ну а где код инициализации параметра?