Ir para conteúdo
Fórum Script Brasil
  • 0

Data


pgmador

Pergunta

Pessoal, seguinte,

Procurei aqui, e não encontrei.

Mostrar a data no nosso formato (dd/mm/aa) não é o problema

O que não consigo, é gravar data no BD.

Estou usando SQLServer.

Adicionei um campo data na minha tabela (datetime).

Faço, por exemplo.

data=date()

ou

data=getdate; (com javascript)

Ao gravar esta variável no banco, ela só grava como 1/1/1900.

Estou fazendo a inclusão da seguinte maneira.

rs.Open "INSERT INTO tabela (data) VALUES ('"&data&"')",Conexao

Minha pergunta são 2:

1. Como fazer pra gravar a data atual, corretamente?

2. Como fazer para gravar uma data que foi preenchida pelo usuário, em um formulário?

Abraços,

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Gravar data atual:

<%    
    dia = Day(date())
    if dia < 10 then  dia = "0" & dia
    mes = Month(date())
    if mes < 10 then  mes = "0" & mes
    ano = Year(date()) 
    Data = dia & "/" & mes & "/" & ano

rs.Open "INSERT INTO tabela (data) VALUES ('"&data&"')",Conexao

%>

No bd no campo data, sempre use como TEXTO ok

Testa aí.

Agora pra gravar a data do usuário, tenho que saber como você está recebendo os dados do usuario no formulálio.....mostra ae pra nós.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Fala davidmg,

Seguinte... aí que está a questão.

Eu gravando no BD, a data como texto (e desta maneira que você colocou, eu já faço), não tenho como ordenar a tabela pela campo data corretamente.

E se eu gravar no BD, como datetime, eu posso ordenar corretamente.

Por isso queria saber como fazer essa gravação em datetime.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

David, isso, em campo texto, eu já faço.

O que quero é justamente gravar em campo datetime.

Porque preciso ordenar por data.

Se eu gravar em texto, por exemplo, uma ordenação poderia ficar errada. Por exemplo, 02/01/2004 vir antes de 10/09/2004, porque começa com zero, que é menor que 1.

Link para o comentário
Compartilhar em outros sites

  • 0
David, isso, em campo texto, eu já faço.

O que quero é justamente gravar em campo datetime.

Porque preciso ordenar por data.

Se eu gravar em texto, por exemplo, uma ordenação poderia ficar errada. Por exemplo, 02/01/2004 vir antes de 10/09/2004, porque começa com zero, que é menor que 1.

Bom, eu tb preciso ordenar por data e faço da seguinte forma:

Na tabelo crios 2 campos, um chamado Data e outro chamado Datapesq

No campo Data eu gravo a data normal: 02/10/2004

No campo Datapesq eu gravo invertido o mes e o dia: 10/02/2004

E mando ordenar pelo Datapesq e funciona direitinho.....faz uns testes aí pra você ver e depois me fala....

David

Link para o comentário
Compartilhar em outros sites

  • 0

use esta rotina no seu form:

<%

dim dd, mm, aa

Function FormataData(data)

dd = Day(data)

mm = Month(data)

aa = Year(data)

if len(dd) = 1 then dd = "0" & dd

if len(mm) = 1 then mm = "0" & mm

FormataData = CStr(dd & "/" & mm & "/" & aa)

End Function

%>

se não funcionar, me reporte.

Boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

Brothers !!

Bem, vamos ver:

Para retornar a data atual, e hora junto, você pode usar o comando NOW

<%= now()%>

isso deve mostra data/hora.

Aí, poderia inserir este NOW no banco, no formato data/hora, que deve funcionar.

Porém, se você quiser fazer diferente, e tratar todos os dados como STRING, e depois, quando for inserir no banco, converter para DATA/Hora, basta usar CDATE na variavel, e mandar inserir no banco. Deste modo tb deve funcionar!

A duvida era essa?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Só pra 'engordar' o tópico de conhecimento:

Resolva problemas com datas gravadas com formato string (texto)

t+

Link para o comentário
Compartilhar em outros sites

  • 0
Aí Dark,

Agora o banco está aceitando apenas com Reques.Form, sem o CDate...

Vai entender....

Pode Fechar este tópico!!

Abração

isso pode ser porque agora, a variavel que esta sendo colocada no banco, esta no formato de data!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...