clientdataset: problemas com datas
Em uma pesquisa feita com o clientdataset em uma base onde existe um campo do tipo data, onde muitos registros são nulos, quando são trazidos esses registros nulos para o clientdataset ele os transforma em ´30/12/1899´. Eu gostaria que ele continuasse nulo ou seja, que saisse uma data em branco. Existe alguma forma de se contornar isso
Roberto Rossi
Curtidas 0
Respostas
Afarias
27/05/2004
O q exatamente vc está fazendo?? A princípio vc sómente teria este resultado usando AsDateTime. Associe o campo a um grid ou dbEdit e deverá ver vazio.
Dê mais detalhes do q está fazendo.
T+
Dê mais detalhes do q está fazendo.
T+
GOSTEI 0
Roberto Rossi
27/05/2004
é um programa relacionado ao banco firebird com componentes sqlconnection -sqldataset - dstprovider - clientdataset
este programa é para o rh de minha empresa controlar os afastamentos dos funcionarios. O problema é que quando vou tirar um relatório das pessoas que estão afastadas (se estão afastadas a data de retorno é null) a data de retorno fica como ´31/12/1899´. O clientdataset transforma o campo null do firebird nesta data. Aí o relatório fica com uma péssima estética, pois não vou falar para o cara do rh ´olha onde tiver a data 31/12/1899 é porque a pessoa não voltou do afastamento ainda´, por isso preciso de uma maneira de fazer com que o clientdataset pegue este campo null e deixe ele null.
este programa é para o rh de minha empresa controlar os afastamentos dos funcionarios. O problema é que quando vou tirar um relatório das pessoas que estão afastadas (se estão afastadas a data de retorno é null) a data de retorno fica como ´31/12/1899´. O clientdataset transforma o campo null do firebird nesta data. Aí o relatório fica com uma péssima estética, pois não vou falar para o cara do rh ´olha onde tiver a data 31/12/1899 é porque a pessoa não voltou do afastamento ainda´, por isso preciso de uma maneira de fazer com que o clientdataset pegue este campo null e deixe ele null.
GOSTEI 0
Afarias
27/05/2004
31/12/1899 = 0
e algumas funções como AsDateTime convertem NULL em 0
...bom...
no mais, trabalho sempre com CDS e Interbase ou Firebird e isso nunca me ocorreu... a única diferença é q utilizo IBX e não DBX, mas creio que o problema tb não está ai...
realmente, não sei onde pode estar... talvês na sua ferramenta/código de relatório não?? qual é ela??
T+
e algumas funções como AsDateTime convertem NULL em 0
...bom...
no mais, trabalho sempre com CDS e Interbase ou Firebird e isso nunca me ocorreu... a única diferença é q utilizo IBX e não DBX, mas creio que o problema tb não está ai...
realmente, não sei onde pode estar... talvês na sua ferramenta/código de relatório não?? qual é ela??
T+
GOSTEI 0
Roberto Rossi
27/05/2004
Uso o Rave Report, mas não está aí o problema, pois coloquei um dbgrid para visualizar os dados antes de imprimir e a data 31/12/1899 já saiu na dbgrid. Não existe nada no clientdataset que faça com que ele assuma esses campos nulos?
GOSTEI 0
Afarias
27/05/2004
NÃO seria o seu SELECT ???
Vc já verificou se no banco de dados está NULO ou 0 (essa data ai) ??
T+
Vc já verificou se no banco de dados está NULO ou 0 (essa data ai) ??
T+
GOSTEI 0
Roberto Rossi
27/05/2004
entro pelo ibexpert e a data está null, tanto é que no meu select uma das condições é:
select * from afastamentos
where data_retorno is null
select * from afastamentos
where data_retorno is null
GOSTEI 0
Afarias
27/05/2004
como está o select dentro do seu programa (quando as datas aparecem como 31/12/1899 ??
T+
T+
GOSTEI 0
Roberto Rossi
27/05/2004
Não entendi sua pergunta.
GOSTEI 0
Afarias
27/05/2004
qual o código (texto) do SELECT que está usando!
T+
T+
GOSTEI 0