Problema com Query e parametros
Bom dia.
Caros, estou tento problemas com parametrosque não são do tipo String em uma determinada Query.
O problema está no momento em que gostaria de atribuir NULL em campos
da minha tabela que não seja String.
Como eu uso esta Query varias vezes dentro de um laço,
se anteriormente o parametro ja teve valor, na proxima
utilização desses parametros eles estarao com o o valor anteriormente passado.
Como fazer para que um campo na tabela do tipo Date por exemplo receba NULL
e não aquela ´data default 1899´.
Obrigado.
Caros, estou tento problemas com parametrosque não são do tipo String em uma determinada Query.
O problema está no momento em que gostaria de atribuir NULL em campos
da minha tabela que não seja String.
Como eu uso esta Query varias vezes dentro de um laço,
se anteriormente o parametro ja teve valor, na proxima
utilização desses parametros eles estarao com o o valor anteriormente passado.
Como fazer para que um campo na tabela do tipo Date por exemplo receba NULL
e não aquela ´data default 1899´.
Obrigado.
Rb2228
Curtidas 0
Respostas
Emerson Nascimento
13/06/2008
tente:
Param.AsVariant := null;
Param.AsVariant := null;
GOSTEI 0
Rb2228
13/06/2008
como usá-lo caro emerson?
fiz mais algumas tentavias com null, porem a data insiste em ficar 30/12/1899
campos do tipo inteiro e float ficam 0.
obrigado...
fiz mais algumas tentavias com null, porem a data insiste em ficar 30/12/1899
campos do tipo inteiro e float ficam 0.
obrigado...
GOSTEI 0
Edilcimar
13/06/2008
se vc quiser a data em branco, simplesmente não grave no banco, aí se você for lá e olhar (pode usar um grid para teste), verá que está em branco
GOSTEI 0
Emerson Nascimento
13/06/2008
publique o código que você está usando para montar a instrução e passar os parâmetros.
GOSTEI 0
Pestana_
13/06/2008
e assim:
Param.Value := null;
caso não resolva, faça como o nosso amigo Emerson disse poste o código do seu sistema.
flw.
Param.Value := null;
caso não resolva, faça como o nosso amigo Emerson disse poste o código do seu sistema.
flw.
GOSTEI 0
Rb2228
13/06/2008
Pessoal, acredito que meu problema seja simples. Existe uma tabela, CDCLIENTE, por exemplo. Nesta tabela existe um campo CDCLDATACADASTRO. Eu gostaria de setar Null, realmente Null, assim como podemos fazer direto pelo gerenciador ou quando o registro na tabela não possui registro neste campo. Existe um registro: João que foi cadastrado em 01/01/2008, neste momento eu gostaria de setar null a este campo, mas o delphi não o faz. quando retorno ao joão, a data de cadastro dele esta 12/30/1899. (acredito ser o valor default). Como posso resolver o meu problema ? Obrigado.[/img]
GOSTEI 0
Pestana_
13/06/2008
se eu não me engano quando você informa o valor 0 (zero) para este campo então é gravado com o valor default.
flw.
flw.
GOSTEI 0
Emerson Nascimento
13/06/2008
não sei porque você não quis publicar o código, mas vamos lá:
query.sql.text := ´update tabela set campodata = :datainformada where idregistro = :id´; loop query.close; query.ParamByName(´data´).DataType := ftDate; // essa linha é muito importante! if informou_data then query.parambyname(´datainformada´).asDate := data_informada else query.parambyname(´datainformada´).Value := null query.ExecSQL; fim do loop
GOSTEI 0
Pestana_
13/06/2008
rb2228, quais componentes de acesso a dados você está utilizando?
flw.
flw.
GOSTEI 0
Rb2228
13/06/2008
Firebird 1.5, dbexpress...
GOSTEI 0