Se seu parametro for do tipo Data use
if length(CAMPODATA) = 0 then
         begin
            Params.ParamByName('varDtn').DataType := ftDate;
            ParamByName('varDtn').Clear;
         end
         else
            ParamByName('varDtn').AsDate := StrToDate(varDtn);

ou se for do Tipo Integer

if CAMPO = 0 then
         begin
            Params.ParamByName('varCal').DataType := ftInteger;
            ParamByName('varCal').Clear;
         end
         else
            ParamByName('varCal').AsDate := CAMPO;

Espero ter ajudado.. qualquer coisa prende o grito..

Dionatan


--- Em delphi-br@yahoogrupos.com.br, "marciosulfabril" <mar...@...>
escreveu
>
> Socorro amigos !! Presciso de um help .
> 
> Como faco para excluir o incluir um parametro na query em tempo de 
> execucao ???
> 
> Alquem pode me dar uma luz???
> 
> 
> meu sql .
> 
> INSERT INTO md_cat(NUMMAT, ID_ACI, emite,tipcat,dataNas)
>         VALUES(:nummat,:id_aci,:emite,:tipcat,:dataNas)
> 
> ja tentei de varias formas e sempre da erro ..
> 
> Codigo
> 
>      if  dataNas.text <> '' then
>      begin
>         //Query.Params.add('dataNas');
>          with Query.Params.CreateParam(ftInteger, dataNas, ptInput) do
>          begin
>           AsDate := StrToDAte(dataNas.text);
>          end;
> 
> 
>        // Query.Params.CreateParam(ftDate, 'dataNas', ptInput);
>        // Query.Params.ParamByName('dataNas').AsDate := StrToDAte
> (edobito.text);
>      end
>      else
>      begin
> 
>          Query.ParamByName('dataNas').AsDate := 0;
>        Query.Params[9].Destroy;
>         parteste := Query.Params[9];
> 
>         Query.Params.RemoveParam(parteste);
>          parametro :=  Query.Params[9].Name;
>      end;
>


Responder a