Yurij wrote:

Тип параметра не меняется при
присваивании.

Меняется. Например смотрим метод
procedure TFIBXSQLVAR.SetAsLong(aValue: Long);
begin
  SetValue(SQL_LONG,SizeOf(Long),tspValue,aValue);
end;

Внутри метода TFIBXSQLVAR.SetValue попадаем на
case  tspValue     :InternalSetValue(Self, aSQLType,aSize,aValue);

далее в

procedure InternalSetValue(xvar: TFIBXSQLVAR; aSQLType,aSize:integer;const Value);
....
sqltype  := aSQLType or (sqltype and 1);
Move(aValue,sqldata^,sqllen);


Т.е. явно видно что при присвоении параметра в sqltype записывается
новое значение и потом это скармливается серверу.




--
--- Home Page http://ok.novgorod.net/ap ---


Ответить