Fórum Help: Data nula no firebird 2.0 #365403
23/10/2008
0
estou fazendo uma conversão de dados e não consigo de maneira alguma inserir através de sql um data nula no firebird.
Utilizo: Delphi 7 + Fire 2.0 + sqlconnection + sqldataset + datasetprovider + clientdataset
Minha instrução:
insert into apagar (doc,datpago) values (:doc,:datpago) parambyname(´doc´).AsString := ´DOC´ /* ParamByName(´datpago´).asdate := null; ParamByName(´datpago´).Clear; ParamByName(´datpago´).Value := 0 ParamByName(´datpago´).Asdate := StrToDate(null); ParamByName(´datpago´).IsNull; */
O problema é a inserção do campo datpago, tentei de todos os jeitos acima e nenhum deles funciona.
Qual a solução? Se é que existe.
Obrigado pela atenção
Mario
Aldus
Curtir tópico
+ 0Posts
23/10/2008
Wilson Brito
insert into apagar (doc) values (:doc) parambyname(´doc´).AsString := ´DOC´
Caso haja necessidade de verificação, fica mais ou menos de acordo com o exemplo abaixo:
if trim(data) <> ´´ then begin ... insert into apagar (doc,datpago) values (:doc,:datpago) parambyname(´doc´).AsString := ´DOC´ parambyname(´datpago´).AsDate := strtodate(data); ... end else begin ... insert into apagar (doc,data) values (:doc) parambyname(´doc´).AsString := ´DOC´ ... end;
Gostei + 0
23/10/2008
Aldus
mas não há opção mais profissional e trabalhosa que esta?
Gostei + 0
23/10/2008
Joaoshi
-Crie o parametro [b:8403a6aed8]datpago[/b:8403a6aed8] como DataType [b:8403a6aed8]ftString[/b:8403a6aed8]-Crie uma funçao que retornará a data (em string) ou NULL
-ParamByName(´datpago´).Value := FuncaoVerData(UmaData);
-ParamByName(´datpago´).Value := null
-ParamByName(´datpago´).Value := ´23.10.2008´
Ex.:
FuncaoVerData(Data:String):String
begin
if Data é uma data válida then
Result := DataFormatada
else
Result := ´NULL´;
end;
Espero ter ajudado.
Gostei + 0
23/10/2008
Joaoshi
Gostei + 0
23/10/2008
Juniorvieira
dataset.fieldbyname(´DATA_EX´).asVariant := null
asvariant vc consegue passar null..
espero te ajudado abraço
Gostei + 0
23/10/2008
Aldus
Não há asvariant para parambyname, apenas como vc escreveu para fieldbyname
Joao,
Como crio o tipo datatype ftstring?
Gostei + 0
24/10/2008
Aldus
consegui finalmente com a preciosa ajuda a vcs a solucionar esse problema.
Ficou assim:
ParamByName(´cadastro´).asdate := Tabela1.Fieldbyname(´_datcadcli´).asdatetime
Agradeço a atenção.
Mario
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)