ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Como copiar registro "Data" de uma tabela para outra?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
andvagner
Novato
Novato


Registrado: Domingo, 14 de Junho de 2020
Mensagens: 13

MensagemEnviada: Dom Jun 14, 2020 3:07 pm    Assunto: Como copiar registro "Data" de uma tabela para outra? Responder com Citação

Boa tarde turma!

Estou usando Delphi7 com MYSQL e tentando copiar os dados de uma tabela para outra, no entanto, quando tipo do campo Data_Acomp da tabela de destino é "varchar" a copia funciona, mas se mudar o tipo do campo da tabela de destino para "Date", a copia não funciona, este problea está me impedindo de fazer consulta entre datas na tabela de destino.Desde já agradeço pela ajuda.

Segue abaixo o código.

begin
s:='Nome_Acomp,Identidade_Acomp,CPF_Acomp,Grau_Acomp,Codigo_Pac,Codigo_Acomp,Nome_PacAcomp,Leito_PacAcomp,Setor_PacAcomp,Data_Acomp,Hora_Acomp';

t:=':NACAMPO,:IDCAMPO,:CPFCAMPO,:GRAUCAMPO,:CODPACCAMPO,:CODACOMPCAMPO,:NPACAMPO,:LPACAMPO,:SPACAMPO,:DATACAMPO,:HORACAMPO';

with DM.ZConsultaEntrada_Acomp do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO Tab_Entrada_Acomp ('+s+') VALUES ('+t+')');
Params.ParamByName('NACAMPO').Value := DbeNomeCadAcomp.Text;
Params.ParamByName('IDCAMPO').Value := DbeIdentCadAcomp.Text;
Params.ParamByName('CPFCAMPO').Value := DBECPF_ACOMP.Text;
Params.ParamByName('GRAUCAMPO').Value := DbeIdentGrauAcomp.Text;
Params.ParamByName('CODPACCAMPO').Value := DbeCodigoPac.Text;
Params.ParamByName('CODACOMPCAMPO').Value := DbeCodigoAcomp.Text;
Params.ParamByName('NPACAMPO').Value := DbeNomePacAcomp.Text;
Params.ParamByName('LPACAMPO').Value := DbeLeitoPacAcomp.Text;
Params.ParamByName('SPACAMPO').Value := DbeSetorPacAcomp.Text;
Params.ParamByName('DATACAMPO').Value := DbeData_AcompCadAcomp.Text;
Params.ParamByName('HORACAMPO').Value := DbeHora_AcompCadAcomp.Text;
ExecSQL;


Editado pela última vez por andvagner em Ter Jun 16, 2020 2:10 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Dom Jun 14, 2020 3:49 pm    Assunto: Responder com Citação

Boa tarde,

Experimente deixar o código da passagem de valor para os parâmetros com o tipo de dados equivalente ao utilizado no banco de dados.
Se o campo na tabela de origem for do tipo Date experimente deixar o código da seguinte forma:

Código:
Params.ParamByName('DATACAMPO').AsDate := DbeData_AcompCadAcomp.AsDateTime;


Se for varchar:

Código:
Params.ParamByName('DATACAMPO').AsDate := StrToDate(DbeData_AcompCadAcomp.AsString);


Espero que ajude


Editado pela última vez por imex em Dom Out 01, 2023 5:45 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
andvagner
Novato
Novato


Registrado: Domingo, 14 de Junho de 2020
Mensagens: 13

MensagemEnviada: Dom Jun 14, 2020 4:55 pm    Assunto: Responder com Citação

imex fiz como você sugeriu, meu campo de origem é do tipo Date, mas deu o seguinte erro.

[Error] UnCadAcomp.pas(551): Undeclared identifier: 'AsDateTime'
[Fatal Error] GPAV.dpr(20): Could not compile used unit 'UnCadAcomp.pas'
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Jun 15, 2020 9:30 am    Assunto: Responder com Citação

Não tinha percebido, mas por acaso DbeData_AcompCadAcomp é um DBEdit ligado ao Field do tipo Date?
Se for é melhor você colocar o Field direto no lugar dos DBEdits, e o Field vai ter a propriedade AsDateTime.

Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
andvagner
Novato
Novato


Registrado: Domingo, 14 de Junho de 2020
Mensagens: 13

MensagemEnviada: Ter Jun 16, 2020 2:05 pm    Assunto: Resolvido! Responder com Citação

Bom dia imex!
Fazendo outras buscas no google encontrei a seguinte solução, como estou usando a data atual a fórmula ficou da seguinte forma.

ParamByName('DATACAMPO').AsDate := Date;

Muito obrigado pela atenção! TMJ
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB