CAMPO DATETIME
Olá pessoal.
Tenho que fazer um programa que gerencie marcação de consultas em cuma clÃÂÂnica.
Preciso fazer comparações de datas, como por exemplo se uma determinada data é mais antiga ou mais recente que a outra, etc.
Tenho um campo no banco de dados(SQL Server 2005) que cadastrei como DateTime.
Estou trabalhando com Store Procedures.
Passo a data no formato dd/mm/yyyy(passando somente a data) como parâmetro em um campo DateTime,
Na classe Atendimento, tenho a função que recebe os parametros, sendo que passao esse campo como parametro para a procedure.
CREATE PROCEDURE INCLUI_ATENDIMENTO
@DTATENDIMENTO dateTime,
INSERT INTO TBL_ATENDIMENTO (DATA_ATENDIMENTO ...,)
VALUES (@DTATENDIMENTO... )
Enttre outros campos.
Quando insiro o registro no banco ele fica com esse formato: 1985-04-02 00:00:00.000.
Queria saber se tem como cadastrar apenas a data sem o horário, ou como faço pra deixar sempre esse horário padrão.
E mais uma coisa, como que faço pra poder comparar essas datas.
Se alguem puder me ajudar ficarei mto grato!!
Tenho que fazer um programa que gerencie marcação de consultas em cuma clÃÂÂnica.
Preciso fazer comparações de datas, como por exemplo se uma determinada data é mais antiga ou mais recente que a outra, etc.
Tenho um campo no banco de dados(SQL Server 2005) que cadastrei como DateTime.
Estou trabalhando com Store Procedures.
Passo a data no formato dd/mm/yyyy(passando somente a data) como parâmetro em um campo DateTime,
cdAtendimento = objAtendimento.incluirAtendimento(MskDtNascimento.Text...)
Na classe Atendimento, tenho a função que recebe os parametros, sendo que passao esse campo como parametro para a procedure.
Public Function incluirAtendimento(ByVal pDtNascimento As DateTime...)
CREATE PROCEDURE INCLUI_ATENDIMENTO
@DTATENDIMENTO dateTime,
INSERT INTO TBL_ATENDIMENTO (DATA_ATENDIMENTO ...,)
VALUES (@DTATENDIMENTO... )
Enttre outros campos.
Quando insiro o registro no banco ele fica com esse formato: 1985-04-02 00:00:00.000.
Queria saber se tem como cadastrar apenas a data sem o horário, ou como faço pra deixar sempre esse horário padrão.
E mais uma coisa, como que faço pra poder comparar essas datas.
Se alguem puder me ajudar ficarei mto grato!!
Valeu cara
mas é que no SQL server, só existe o campo do tipo DateTime, sendo que quando salvo ele armazena o valor desse tipo : 1985-04-02 00:00:00.000.
O pior é que preciso comparar uma data passada por parametro com uma que vou ler do banco de dados, sendo assim creio que os tipos devem ser compatÃÂÂveis...
Estou certo?
Um Abraço
mas é que no SQL server, só existe o campo do tipo DateTime, sendo que quando salvo ele armazena o valor desse tipo : 1985-04-02 00:00:00.000.
O pior é que preciso comparar uma data passada por parametro com uma que vou ler do banco de dados, sendo assim creio que os tipos devem ser compatÃÂÂveis...
Estou certo?
Um Abraço
Tanto o campo DateTime quanto o tipo DateTime do .Net sempre possuem Data e Hora.
Geralmente não vai ter problemas com a hora se sempre que você pegar a data com o usuário ele digitar somente a data, o unico problema seria se você precisar pegar a data de sistema, que é facilmente contornado usando o DateTime.Now.Data, que retorna somente a data atual com hora 00:00:00
Se precisar pegar a data na stored procedure com o GETDATE dai tem que usar algumas funções la para tirar a hora.
Quando você for passar o parametro para a stored procedure o banco sempre assume o horario como 00:00:00 se você não informar ele, então não tem problema nenhum também.
Geralmente não vai ter problemas com a hora se sempre que você pegar a data com o usuário ele digitar somente a data, o unico problema seria se você precisar pegar a data de sistema, que é facilmente contornado usando o DateTime.Now.Data, que retorna somente a data atual com hora 00:00:00
Se precisar pegar a data na stored procedure com o GETDATE dai tem que usar algumas funções la para tirar a hora.
Quando você for passar o parametro para a stored procedure o banco sempre assume o horario como 00:00:00 se você não informar ele, então não tem problema nenhum também.
Tópico encerrado , respostas não são mais permitidas