Converter campo no Interbase - Char para Date

Delphi

07/03/2003

Olá amigos, uso BD Interbase e tenho um campo na minha tabela chamado dat_nascimento CHAR(10) e gostaria de converter ele para DATE ou TIMESTAMP.. como faço para converter o campo sem a perda dos dados ja inseridos?
Obrigado..
Renato


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

07/03/2003

Por favor me ajudem!!![b:6f5cf300f1][/b:6f5cf300f1]


GOSTEI 0
Anonymous

Anonymous

07/03/2003

Se eu nao me engano a SQL tem uma instrução a ALTER COLLUMN (ou coisa parecida) que altera o tipo da coluna, mas não sei se os dados serão convertidos


GOSTEI 0
Anonymous

Anonymous

07/03/2003

Vou tentar..[b:00b0a5e0d4][/b:00b0a5e0d4]


GOSTEI 0
Anonymous

Anonymous

07/03/2003

O interbasenao reconhece esse comando..
:(


GOSTEI 0
Anonymous

Anonymous

07/03/2003

Acho que o mais seguro é incluir na sua table um campo date, criar um form transformando o campo char em date
ex: camponovo.value := strToDate(campovelho.value);
depois vc apaga o campo velho
e depois renomeia o campo novo...
é meio gambiarra mas dá certo
Espero ter ajudado.


GOSTEI 0
Anonymous

Anonymous

07/03/2003

Valeu Mariangela.. fiz o seguinte.. criei um novo campo na minha tabela e coloquei a seguinte codificacao no meu formulario no delphi:

var
valor : string;
begin
table1.First;
while not table1.Eof do
begin
valor := table1.Fieldbyname(´dat_nascimentoVelho´).asstring;
If valor <> ´´ then
begin
table1.edit;
table1.Fieldbyname(´dat_nascNovo´).value := strtodate(table1.Fieldbyname(´dat_nascimentoVelho´).Asstring);
table1.Post;
table1.Next;
end
else
table1.Next;
end;
ShowMessage(´registros atualizados com sucesso´);
end;

Depois que atualizei simplesmente exclui o campo ´dat_nascimentoVelho´ da minha tabela..


Obrigado..

Renato


GOSTEI 0
Anonymous

Anonymous

07/03/2003

Que bom que resolveu seu problema. Já ouviu aquele ditado? Quem não tem cão, caça com gato! rs...
Até mais


GOSTEI 0
POSTAR