Подскажите, пожалуйста. Ну бред полный с этим SQL Anywhere
Есть запрос.
Цитата:
if qCLI_DO.Active then qCLI_DO.Active:=false;
qCLI_DO.SQL.Clear;
qCLI_DO.SQL.Add(' SELECT DoG_O.NUM_DO, DoG_O.DATA_DO, DoG_O.ID_CLI, ');
qCLI_DO.SQL.Add(' SPEC_DO.NUM_SP, SPEC_DO.ADRES_P, SPEC_DO.DATA_OSM ');
qCLI_DO.SQL.Add(' FROM DoG_O INNER JOIN SPEC_DO ON DoG_O.NUM_DO = SPEC_DO.NUM_DO ');
qCLI_DO.SQL.Add(' WHERE DoG_O.ID_CLI = ' +IntToStr(ID) );
qCLI_DO.SQL.Add(' ORDER BY SPEC_DO.ADRES_P; ');
try
// qCLI_DO.Parameters.ParamByName('SELID').Value:=ID;
qCLI_DO.Active:=TRUE;
except
on e:Exception do
ShowMessage('err: '+E.Message);
end;
if qCLI_DO.RecordCount <= 0 then begin
ShowMessage('Ó ýòîãî çàêàç÷èêà íåò äîãîâîðîâ.');
qCLI_DO.Close;
Exit;
end;
|
Первый раз выполняется нормально. при попытке выполнить его второй раз выдается сообщение "Cannot convert parament 1 to DBTYPE_STR". И так происходит с ЛЮБЫМ запросом, при попытке его выполнить второй раз. При этом параметры в запросах разные - и по типам и по кол-ву, в основном это даты или числа.
Подскажите, в какую сторону хоть копать?! Программа к диплому горит, препод ругается, но объяснить сам ничего не может.