Ir para conteúdo

POWERED BY:

Arquivado

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

clayton-mer

Problema com data

Recommended Posts

gente teste ai pra ver o que está acontecendo com as datas do meu site.

 

no link abaixo coloquei o sitema on-line

 

http://www.saaenf.com.br/teste/teste.asp

 

se eu adicionar uma data tipo 24/05/2007 dai funcina normalmente, agora se colocar uma data assim 01/06/2007 quando ele grava no banco e mostra no site da seguinte forma 06/01/2007 já fiz varias alterações mais não deu certo.

 

segue os códigos

Página de cadastro

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!--#include file="tested.asp" --><%Session.LCID = 1046%><%dim dia, mes, anodia = day(now())mes = month(now())ano = year(now())data = dia & "/" & mes & "/" & anodim hora, minutohora = hour(now())minuto = minute(now())horas = hora & ":" & minuto & ""%><%Dim MM_editActionMM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))If (Request.QueryString <> "") Then  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)End If' boolean to abort record editDim MM_abortEditMM_abortEdit = false%><%' IIf implementationFunction MM_IIf(condition, ifTrue, ifFalse)  If condition = "" Then    MM_IIf = ifFalse  Else    MM_IIf = ifTrue  End IfEnd Function%><%If (CStr(Request("MM_insert")) = "form1") Then  If (Not MM_abortEdit) Then    ' execute the insert    Dim MM_editCmd    Set MM_editCmd = Server.CreateObject ("ADODB.Command")    MM_editCmd.ActiveConnection = MM_teste_STRING    MM_editCmd.CommandText = "INSERT INTO Tabela1 ([data], nome) VALUES (?, ?)"     MM_editCmd.Prepared = true    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 135, 1, -1, MM_IIF(Request.Form("data"), Request.Form("data"), null)) ' adDBTimeStamp    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 50, Request.Form("nome")) ' adVarWChar    MM_editCmd.Execute    MM_editCmd.ActiveConnection.Close    ' append the query string to the redirect URL    Dim MM_editRedirectUrl    MM_editRedirectUrl = "mostrar.asp"    If (Request.QueryString <> "") Then      If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then        MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString      Else        MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString      End If    End If    Response.Redirect(MM_editRedirectUrl)  End IfEnd If%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><form action="<%=MM_editAction%>" method="post" name="form1" id="form1">  <table align="center">    <tr valign="baseline">      <td nowrap="nowrap" align="right">Data:</td>      <td><input type="text" name="data" value="<%= Data %>" size="32" />      </td>    </tr>    <tr valign="baseline">      <td nowrap="nowrap" align="right">Nome:</td>      <td><input type="text" name="nome" value="" size="32" />      </td>    </tr>    <tr valign="baseline">      <td nowrap="nowrap" align="right"> </td>      <td><input type="submit" value="Insert record" />      </td>    </tr>  </table>  <input type="hidden" name="MM_insert" value="form1" /></form><p> </p></body></html>
Página que exibe a data

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!--#include file="tested.asp" --><% Session.LCID = 1046 %><%Dim Recordset1Dim Recordset1_cmdDim Recordset1_numRowsSet Recordset1_cmd = Server.CreateObject ("ADODB.Command")Recordset1_cmd.ActiveConnection = MM_teste_STRINGRecordset1_cmd.CommandText = "SELECT * FROM Tabela1 ORDER BY [data] DESC" Recordset1_cmd.Prepared = trueSet Recordset1 = Recordset1_cmd.ExecuteRecordset1_numRows = 0%><%Dim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = -1Repeat1__index = 0Recordset1_numRows = Recordset1_numRows + Repeat1__numRows%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %>  <%=(Recordset1.Fields.Item("data").Value)%> - <%=(Recordset1.Fields.Item("nome").Value)%><br />  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  Recordset1.MoveNext()Wend%></body></html><%Recordset1.Close()Set Recordset1 = Nothing%>
então está assim se colocar uma data da seguinte forma

1,2,3,4,5,6,7,8,9,10,11,12/mês/ano ele inverte

agora de colocar 13até31/mÊs/ano ele não inverte grava normal no banco e exibe correto.

 

alguem pode me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está utilizando o Session.LCID = 1046 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim no inicio do código

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, tudo beleza? Bom.. num sei ao exato porque ele faz isso, de gravar no bd com a data ao contrario, só na minha opinião, talvez o seu banco num seja brasileiro, eheheh, chutei essa, eehhe, mas acho, q quando você for retornar a data do bd, com o Session.LCID = 1046 novamente vai rodar legal, isso é o que eu penso, num sei, tenta aê e vê o que dá, eehhe.

 

Flw! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

como poderia oir favor me explicar... como

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:data = dia & "/" & mes & "/" & anopor:data = ano & "/" & mes & "/" & dia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:data = dia & "/" & mes & "/" & anopor:data = ano & "/" & mes & "/" & dia

dai quando exibir ele vai aparecer da forma correta, e vai gravar no banco da seguinte firma 2007/03/28 e quando exibir vai exibir normalmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

estive fora por alguns dias voltei a trabalhar agora, meu amigo não deu certo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

gente teste ai pra ver o que está acontecendo com as datas do meu site.

 

no link abaixo coloquei o sitema on-line

 

http://www.saaenf.com.br/teste/teste.asp

 

se eu adicionar uma data tipo 24/05/2007 dai funcina normalmente, agora se colocar uma data assim 01/06/2007 quando ele grava no banco e mostra no site da seguinte forma 06/01/2007 já fiz varias alterações mais não deu certo.

 

segue os códigos

Página de cadastro

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!--#include file="tested.asp" --><%Session.LCID = 1046%><%dim dia, mes, anodia = day(now())mes = month(now())ano = year(now())data = dia & "/" & mes & "/" & anodim hora, minutohora = hour(now())minuto = minute(now())horas = hora & ":" & minuto & ""%><%Dim MM_editActionMM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))If (Request.QueryString <> "") Then  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)End If' boolean to abort record editDim MM_abortEditMM_abortEdit = false%><%' IIf implementationFunction MM_IIf(condition, ifTrue, ifFalse)  If condition = "" Then    MM_IIf = ifFalse  Else    MM_IIf = ifTrue  End IfEnd Function%><%If (CStr(Request("MM_insert")) = "form1") Then  If (Not MM_abortEdit) Then    ' execute the insert    Dim MM_editCmd    Set MM_editCmd = Server.CreateObject ("ADODB.Command")    MM_editCmd.ActiveConnection = MM_teste_STRING    MM_editCmd.CommandText = "INSERT INTO Tabela1 ([data], nome) VALUES (?, ?)"     MM_editCmd.Prepared = true    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 135, 1, -1, MM_IIF(Request.Form("data"), Request.Form("data"), null)) ' adDBTimeStamp    MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 50, Request.Form("nome")) ' adVarWChar    MM_editCmd.Execute    MM_editCmd.ActiveConnection.Close    ' append the query string to the redirect URL    Dim MM_editRedirectUrl    MM_editRedirectUrl = "mostrar.asp"    If (Request.QueryString <> "") Then      If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then        MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString      Else        MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString      End If    End If    Response.Redirect(MM_editRedirectUrl)  End IfEnd If%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><form action="<%=MM_editAction%>" method="post" name="form1" id="form1">  <table align="center">    <tr valign="baseline">      <td nowrap="nowrap" align="right">Data:</td>      <td><input type="text" name="data" value="<%= Data %>" size="32" />      </td>    </tr>    <tr valign="baseline">      <td nowrap="nowrap" align="right">Nome:</td>      <td><input type="text" name="nome" value="" size="32" />      </td>    </tr>    <tr valign="baseline">      <td nowrap="nowrap" align="right"> </td>      <td><input type="submit" value="Insert record" />      </td>    </tr>  </table>  <input type="hidden" name="MM_insert" value="form1" /></form><p> </p></body></html>
Página que exibe a data

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!--#include file="tested.asp" --><% Session.LCID = 1046 %><%Dim Recordset1Dim Recordset1_cmdDim Recordset1_numRowsSet Recordset1_cmd = Server.CreateObject ("ADODB.Command")Recordset1_cmd.ActiveConnection = MM_teste_STRINGRecordset1_cmd.CommandText = "SELECT * FROM Tabela1 ORDER BY [data] DESC" Recordset1_cmd.Prepared = trueSet Recordset1 = Recordset1_cmd.ExecuteRecordset1_numRows = 0%><%Dim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = -1Repeat1__index = 0Recordset1_numRows = Recordset1_numRows + Repeat1__numRows%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %>  <%=(Recordset1.Fields.Item("data").Value)%> - <%=(Recordset1.Fields.Item("nome").Value)%><br />  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  Recordset1.MoveNext()Wend%></body></html><%Recordset1.Close()Set Recordset1 = Nothing%>
então está assim se colocar uma data da seguinte forma

1,2,3,4,5,6,7,8,9,10,11,12/mês/ano ele inverte

agora de colocar 13até31/mÊs/ano ele não inverte grava normal no banco e exibe correto.

 

alguem pode me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo...isso é tratamento dos dados. Perceba que 1/06/07 existe a data 06/01/07, já a data 24/05/07 não existe 05/24/07 no formato BR. Dica:

setar lcid(você já fez)

ao gravar formatar a data

ao exibir formatar a data

 

para formatar datas....vai uma dica

http://forum.imasters.com.br/index.php?showtopic=226442

Compartilhar este post


Link para o post
Compartilhar em outros sites

já alterei de tudo mais fic do mesmo jeito, porque exibe dessa forma

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo codigo você não formata ao exibir:

<% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %> <%=(Recordset1.Fields.Item("data").Value)%> - <%=(Recordset1.Fields.Item("nome").Value)%><br /> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 Recordset1.MoveNext()Wend%>

Tente fazer a formatação ao exibir pra ver se fica como deseja

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo codigo você não formata ao exibir:

<% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %> <%=(Recordset1.Fields.Item("data").Value)%> - <%=(Recordset1.Fields.Item("nome").Value)%><br /> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 Recordset1.MoveNext()Wend%>

Tente fazer a formatação ao exibir pra ver se fica como deseja
fica da mesma forma porque ele mostra o que está gravado no banco e no banco está gravado invertido ele mostra invertido.se usar a formatação pra exibir ele mostra do mesmo jeito, no banco está gravado 06/01/2007 no qual teria que gravar 01/06/2007, então quando tento exibir no site ele busca dessa forma teria uma outra forma de gravar no banco, da forma certa.obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá turma estou eu aqui novamente o que gostaria de saber é o seguinte sei que o topico está tendo bastante visita, gostaria de saber se alguem que estava com problema parecido ao meu conseguiu resolver porque eu ainda não consegui alguem pode me ajudar porfavor.att.clayton

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: testa fazer uns insert de data '20/01/2007' e verifica como vai aparecer no banco... Se não der erro, então mantém seu código ASP de inserir normalmente

 

Segundo: na parte do código onde você faz o select da data, faz diferente... tipo assim:

 

"Select datahora from banco"

 

varDia = day(datahora)

varMes = month(datahora)

varAno = year(datahora)

 

Se a variável varDia receber o valor 01 então tá errado.... daí faça a gambiarra abaixo:

 

"Select day(datahora) as vDia, month(datahora) as vMes, year(datahora) as vAno from tabela"

 

varDia = Rs("vDia")

varMes = Rs("vMes")

varAno = Rs("vAno")

 

mó gambiarra, mas funciona =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Turma eu não consegui ainda, já fiz de tudo mais não da certo, na hora de exibir no form da certo da seguinte forma na hora de gravar no banco ele grava invetido.por favor turma se algum tiver um script e poder me ajudar au adapitar no meu sistemapreciso muitoatt.Clayton

Compartilhar este post


Link para o post
Compartilhar em outros sites

você setou o lcid da página que vai exibir os dados onde você fez a formatação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathan, eu coloco o script de data ele mostra a data certinha na caixa de texto, mais quando ele grava ele grava invertido. eu coloco na página que tem o form a lcid, e também como na página onde vai exibir mais o problema é que no banco está invertido e então fica invertido quando ele motro no arquivo.o problema é na gravação, porque ele mostra no form da forma certa e quando grava grava de forma invertida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim

"INSERT INTO Tabela1 ([data], nome) VALUES (#"&month(Request.Form("data"))&"/"&day(Request.Form("data"))&"/"&year(Request.Form("data"))&"#, '"&Request.Form("nome")&"')"

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.