04. december 2007 - 18:32
Der er
7 kommentarer og
1 løsning
Ommbytning af dd-mm i forbindelse med ÁSP & ACCES
Jeg har lidt underligt problem med nogen dato felter i forbindelse med ASP og ACCESS.
Jeg har på nogen sider problemer med dato feltet hvor den bytter om på DD-MM når jeg laver en insert eller update.
Det er kun på nogen sider, mens andre fungere fint. Er der en venlig sjæl som kan svare på dette.
Jeg bruger CS3 Dreamweaver og har generelt aldrig haft nogen problemer med dette, men lige pludselig begyndte den at lave om på diverse dato felter
04. december 2007 - 19:56
#3
Her er den kode som laver min indsæt dato
--------------------------------------
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End 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_ConnOuresport1_STRING
MM_editCmd.CommandText = "INSERT INTO vejret (vejrdato, vejrover, vejrtekst) VALUES (?, ?, ?)"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 135, 1, -1, MM_IIF(Request.Form("vejrdato"), Request.Form("vejrdato"), null)) ' adDBTimeStamp
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 203, 1, 536870910, Request.Form("vejrover")) ' adLongVarWChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 203, 1, 536870910, Request.Form("vejrtekst")) ' adLongVarWChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "vejret_aendre.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 If
End If
%>
------------------
Nogen forslag.
05. december 2007 - 09:15
#4
Hvilken LCID kører du med??
Hvis det er engelsk er datoformatet jo mm-dd-yyyy, hvorfor den får byttet om på måneder og dage på det som brugerne indtaster. Det betyder at 05-12-2007 bliver opfattet som 12 maj. Humlen er at hvis dagen er over den 13, kan den godt finde ud af det alligevel:
05-12-2007 = 12 maj
13-12-2007 = 13 dec (kan selv regne ud at dag/måned skal byttes om)
12-13-2007 = 13 dec
Jeg vil gætte på at løsningen er at sætte den LCID til dansk (sæt i toppen af koden):
session.LCID = 1030