Fórum Inserir dados hora #459401

24/10/2013

0

Boa Tarde!

To fazendo uma aplicação em delphi e to precisando de uma ajuda. Queria saber como eu faço para no momento que eu realizar o cadastro do cliente o sistema pega a hora e data atual e grave no banco de dados. Estou utilizando o banco de dados e o campo q eu quero armazer a data e hora e do tipo datetime.
Deivid Costa

Deivid Costa

Responder

Posts

24/10/2013

Marcos Oliveira

Deivid, boa tarde.

Segue abaixo um exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
   Hora: String;
   Data: TDate;
begin
     Data := Date;
     Hora := TimeToStr(Time);

     // Aqui só estou mostrando na tela. Com as variáveis em mãos, você pode gravar no seu banco.
     ShowMessage('Data: ' + DateToStr(Data) + ' - Hora: ' + Hora);
end;



Att,

Marcos
Responder

Gostei + 0

24/10/2013

Deivid Costa

Deivid, boa tarde.

Segue abaixo um exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
   Hora: String;
   Data: TDate;
begin
     Data := Date;
     Hora := TimeToStr(Time);

     // Aqui só estou mostrando na tela. Com as variáveis em mãos, você pode gravar no seu banco.
     ShowMessage('Data: ' + DateToStr(Data) + ' - Hora: ' + Hora);
end;



Att,

Marcos



tem como eu gravar essa informações todas juntas tipo: AAAA-MM-DD HH:MM:SS ????
Responder

Gostei + 0

24/10/2013

Rafael Brendolan

Sim. Vai depender do tipo de Campo no banco e qual banco você estará usando.
Crie um campo DateTime no Banco e para salvar neste formato passe 'now'.
Se não me engano 'now' passa a data + hora.

Responder

Gostei + 0

24/10/2013

Deivid Costa

Sim. Vai depender do tipo de Campo no banco e qual banco você estará usando.
Crie um campo DateTime no Banco e para salvar neste formato passe 'now'.
Se não me engano 'now' passa a data + hora.



O Banco é o SQL Server o tipo do campo é datetime.
como seria o comando para inserir AAAA-MM-DD HH:MM:SS???
Responder

Gostei + 0

24/10/2013

Thiago Irrazabal

Sim. Vai depender do tipo de Campo no banco e qual banco você estará usando.
Crie um campo DateTime no Banco e para salvar neste formato passe 'now'.
Se não me engano 'now' passa a data + hora.



O Banco é o SQL Server o tipo do campo é datetime.
como seria o comando para inserir AAAA-MM-DD HH:MM:SS???


Não uso SQL Server mas, passar isso para o teu campo não funciona ?

FormatDateTime('yyyy-mm-dd hh:mm:ss', now);




Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

25/10/2013

Deivid Costa

Sim. Vai depender do tipo de Campo no banco e qual banco você estará usando.
Crie um campo DateTime no Banco e para salvar neste formato passe 'now'.
Se não me engano 'now' passa a data + hora.



O Banco é o SQL Server o tipo do campo é datetime.
como seria o comando para inserir AAAA-MM-DD HH:MM:SS???


Não uso SQL Server mas, passar isso para o teu campo não funciona ?

FormatDateTime('yyyy-mm-dd hh:mm:ss', now);




Att,
Thiago Irrazabal de Oliveira.


Não deu certo....
Tentei fazer dessa maneira:
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
nome:=edt_nome.Text;
ADOQuery1.SQL.Add('insert into pacientes (nome, rg, cpf, estado_civil, nascimento, sexo, cep, endereco, numero, bairro, cidade, uf, telefone, celular) values (('+''''+edt_nome.Text+''''+'),('+''''+edtm_rg.Text+''''+'),('+''''+edtm_cpf.Text+''''+'),('+''''+cbox_est_civ.Items[cbox_est_civ.ItemIndex]+''''+'),('+''''+edtm_nasc.Text+''''+'),('+''''+cb_sexo.Items[cb_sexo.ItemIndex]+''''+'),('+''''+edtm_cep.Text+''''+'),('+''''+edt_endereco.Text+''''+'),('+''''+edt_numero.Text+''''+'),('+''''+edt_bairro.Text+''''+'),('+''''+edt_cidade.Text+''''+'),('+''''+cb_uf.Items[cb_uf.ItemIndex]+''''+'),('+''''+edtm_telefone.Text+''''+'),('+''''+edtm_celular.Text+''''+'))');
ADOQuery1.Parameters.ParamByName('insert into pacientes(data_cadast)').value := Now;
ADOQuery1.ExecSQL;

Está correto??? Tem alguma sugestão???
Responder

Gostei + 0

26/10/2013

Thiago Irrazabal

Sim. Vai depender do tipo de Campo no banco e qual banco você estará usando.
Crie um campo DateTime no Banco e para salvar neste formato passe 'now'.
Se não me engano 'now' passa a data + hora.



O Banco é o SQL Server o tipo do campo é datetime.
como seria o comando para inserir AAAA-MM-DD HH:MM:SS???


Não uso SQL Server mas, passar isso para o teu campo não funciona ?

FormatDateTime('yyyy-mm-dd hh:mm:ss', now);




Att,
Thiago Irrazabal de Oliveira.


Não deu certo....
Tentei fazer dessa maneira:
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
nome:=edt_nome.Text;
ADOQuery1.SQL.Add('insert into pacientes (nome, rg, cpf, estado_civil, nascimento, sexo, cep, endereco, numero, bairro, cidade, uf, telefone, celular) values (('+''''+edt_nome.Text+''''+'),('+''''+edtm_rg.Text+''''+'),('+''''+edtm_cpf.Text+''''+'),('+''''+cbox_est_civ.Items[cbox_est_civ.ItemIndex]+''''+'),('+''''+edtm_nasc.Text+''''+'),('+''''+cb_sexo.Items[cb_sexo.ItemIndex]+''''+'),('+''''+edtm_cep.Text+''''+'),('+''''+edt_endereco.Text+''''+'),('+''''+edt_numero.Text+''''+'),('+''''+edt_bairro.Text+''''+'),('+''''+edt_cidade.Text+''''+'),('+''''+cb_uf.Items[cb_uf.ItemIndex]+''''+'),('+''''+edtm_telefone.Text+''''+'),('+''''+edtm_celular.Text+''''+'))');
ADOQuery1.Parameters.ParamByName('insert into pacientes(data_cadast)').value := Now;
ADOQuery1.ExecSQL;

Está correto??? Tem alguma sugestão???



Muda essa linha
ADOQuery1.Parameters.ParamByName('insert into pacientes(data_cadast)').value := Now;


Coloca assim vê se funciona
ADOQuery1.Parameters.ParamByName('insert into pacientes(data_cadast)').value := FormatDateTime('mm/dd/yyyy hh:mm:ss', now);





Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

26/10/2013

Graziani

Boa noite,

só uma dica, não pegue a data e hora do sistema, use o date e hora do BANCO DE DADOS. Porque o usuário não pode modificar...

SQL SERVER
SELECT GETDATE() AS [GETDATE] ..




Responder

Gostei + 0

26/10/2013

Deivid Costa

Boa noite pessoal!
Consegui resolver o problema. Com o comando:

ADOQuery1.SQL.Add('insert into pacientes (data_cadast)values((GETDATE()))');

Funcionou certinho!
Muito obrigado pela ajuda de todos, valew!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar