Неправильный тип параметра
От: Capitan  
Дата: 03.04.05 09:56
Оценка:
создаю объект 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 то он создается правильно! где грабли с первым параметром?
Re: Неправильный тип параметра
От: Drago Россия  
Дата: 03.04.05 13:09
Оценка:
Здравствуйте, 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;

и посмотри что получится
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.