| 
			
				|  | 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.
 
 |  |