Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Loma

sql server - data fica 1/1/1900

Recommended Posts

Oi genti ja to a mais de uma hora e meia tentando resolver isso e não consigo de jeito nenhum.

alguém pode me ajudar com isso?

 

eu to fazendo um insert simples no banco

 

<!--#include file="../includes/conn.asp"--><%data = Request.Form("data")fonte = request.form("fonte")titulo = request.form("titulo")noticia = request.form("noticia")sql = "insert into noticias (data,fonte,titulo,noticia) values (" & data & ",'" & fonte & "','" & titulo & "','" & noticia &"')"cn.Execute(sql)response.redirect("noticia.asp")%>

 

e no formulário eu to escrevendo a data assim 25/11/2006

 

a locaweb informou que eles usam como mm/dd/aaaa

mas tb não adianta nada pq ja tentei de todas as formas possiveis e quando não fica na base como 1/1/1900 ele da uma outra data louca!

 

Alguém pode me ajudar nessa?

valeuuu bjssssssssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,1. Você ja verificou qual o conteúdo esta sendo retornado no Request.Form("data")? Dê um response em Request.Form("data") e verifique.2. O campo data da tabela noticias esta em que formato? 3. Já tentou passar a data invertida, tipo AAAA/MM/DD?Mas a primeira coisa a ser levada em conta é o retorno do Request.Form("data").QQ coisa estamos ai!!Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não importa qual colation esteja configurado pra tabela ou coluna, a gravação vai ser sempre feita no formato:

 

1899-12-30 23:59:59.000

AAA/MM/DD HH:MM:SS

 

Pra exibir no browser... você trata no formato que desejar. DD/MM/AAAA

 

Mas no seu script a data deve estar entre aspas, pois ela vai como string pra lá .

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só adaptar:

 

<%
Function ConverterDataBanco(ConDataBanco)
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)
	
	ConverterDataBanco = ConDataBanco
End Function
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi genti ja to a mais de uma hora e meia tentando resolver isso e não consigo de jeito nenhum.

alguém pode me ajudar com isso?

 

eu to fazendo um insert simples no banco

 

<!--#include file="../includes/conn.asp"-->
<%
data = Request.Form("data")
fonte = request.form("fonte")
titulo = request.form("titulo")
noticia = request.form("noticia")


sql = "insert into noticias (data,fonte,titulo,noticia) values (" & data & ",'" & fonte & "','" & titulo & "','" & noticia &"')"
cn.Execute(sql)

response.redirect("noticia.asp")
%>

 

e no formulário eu to escrevendo a data assim 25/11/2006

 

a locaweb informou que eles usam como mm/dd/aaaa

mas tb não adianta nada pq ja tentei de todas as formas possiveis e quando não fica na base como 1/1/1900 ele da uma outra data louca!

 

Alguém pode me ajudar nessa?

valeuuu bjssssssssss

Paloma

 

Sugiro que você crie uma função para fazer tratamento de datas antes de incluir no banco de dados.

 

Essa função seria responsável no caso do SQL Server, pra receber a data digitada DD/MM/YYYY e converter para YYYYMMDD, sem barras e traços, apenas invertida. Inserindo nesse formato, é garantido que vai funcionar independentemente de configurações de servidor. Se por acaso algum dia o banco não for mais SQL Server, bastará você alterar a função para o tratamento adequado para o banco que estiver sendo usardo.

 

Ficaria assim:

 

sql = "insert into noticias (data,fonte,titulo,noticia) values (" & PreparaData(data) & ",'" & fonte & "','" & titulo & "','" & noticia &"')"

 

Aí é só você programar a função PreparaData pra fazer essa conversão.

 

Se tiver dificuldades na função avisa que a gente ajuda!

 

Abraço

Cassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.