создаю объект TRxQuery. потом создаю параметр:
with RXQuery.Params.CreateParam(ftInteger, UpperCase(ParamName), ptInputoutput) do
if(ParamValue <> '') then AsInteger := StrToInt(ParamValue);
if(RXQuery.Params.ParamByName(UpperCase(ParamName)).DataType = ftInteger) then ShowMessage('Integer');
if(RXQuery.Params.ParamByName(UpperCase(ParamName)).DataType = ftUnknown) then ShowMessage('Unknown');
параметр должен создаваться с рипом ftInteger... однако вылетает сообщение что он Unknown
если после этого я создаю второй параметр с типом integer то он создается правильно! где грабли с первым параметром?
Здравствуйте, Capitan, Вы писали:
C>создаю объект TRxQuery. потом создаю параметр:
C>with RXQuery.Params.CreateParam(ftInteger, UpperCase(ParamName), ptInputoutput) do
C> if(ParamValue <> '') then AsInteger := StrToInt(ParamValue);
C>if(RXQuery.Params.ParamByName(UpperCase(ParamName)).DataType = ftInteger) then ShowMessage('Integer');
C>if(RXQuery.Params.ParamByName(UpperCase(ParamName)).DataType = ftUnknown) then ShowMessage('Unknown');
C>параметр должен создаваться с рипом ftInteger... однако вылетает сообщение что он Unknown
c RXQuery не работал, но объясни такую вещь, зачем ты делаешь эту проверку?
if(ParamValue <> '') then AsInteger := StrToInt(ParamValue);
не исключено что тип параметра определяется в частности и по значению. попробуй сделать сразу
with RXQuery.Params.CreateParam(ftInteger, UpperCase(ParamName), ptInputoutput) do
begin
AsInteger := StrToInt(ParamValue);
case DataType of
ftInteger : ShowMessage('Integer');
ftUnknown : ShowMessage('Unknown');
end;
end;
и посмотри что получится