Abaixo mostro como atribuir NULO para um parâmetro de um TADOQuery.
Utilizei isso para salvar um objeto no Banco de Dados - BD.
Quando o objeto não tinha propriedade com valor atribuído, salvei essa propriedade no BD como Nulo.
Segue abaixo:
FqryDados : TADOQuery;
FqryDados.SQL.Add('INSERT INTO TabelaClientes ');
FqryDados.SQL.Add('(CodigoCliente, RazaoSocial) ');
FqryDados.SQL.Add('VALUES ');
FqryDados.SQL.Add('(:CodigoCliente, :RazaoSocial)');
FqryDados.Parameters.ParseSQL(FqryDados.SQL.Text,True);
FqryDados.Parameters.ParamByName('CodigoCliente').Value := objCliente.CodigoCliente;
if objCliente.RazaoSocial <> '' then
FqryDados.Parameters.ParamByName('RazaoSocial').Value := objCliente.RazaoSocial
else
begin
FqryDados.Parameters.ParamByName('RazaoSocial').Value := null;
FqryDados.Parameters.ParamByName('RazaoSocial').DataType := ftString;
end;
FqryDados.ExecSQL;
Obs.: Foi necessário definir o tipo do parâmetro, mesmo que esse sendo nulo.
Espero ter ajudado pessoal, qualquer coisa é só entrar em contato!
Vlw sua dica foi perfeita.. procurei e so achei pessoal falando bobagens, DtString fez toda diferença..
ResponderExcluirQue bom que foi útil para ti. Fiquei feliz em saber. Boa programação por aí! Abraços.
Excluir