|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
andvagner Novato
Registrado: Domingo, 14 de Junho de 2020 Mensagens: 13
|
Enviada: Dom Jun 14, 2020 3:07 pm Assunto: Como copiar registro "Data" de uma tabela para outra? |
|
|
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 |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Dom Jun 14, 2020 3:49 pm Assunto: |
|
|
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 |
|
|
andvagner Novato
Registrado: Domingo, 14 de Junho de 2020 Mensagens: 13
|
Enviada: Dom Jun 14, 2020 4:55 pm Assunto: |
|
|
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 |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Jun 15, 2020 9:30 am Assunto: |
|
|
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 |
|
|
andvagner Novato
Registrado: Domingo, 14 de Junho de 2020 Mensagens: 13
|
Enviada: Ter Jun 16, 2020 2:05 pm Assunto: Resolvido! |
|
|
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 |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|