B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Frågan 27 okt. 2004 17:09 #1 Försöker spara in dessa datum i databasen den första variablen kommer in men inte dom andra två kolumnerna är av typen DateTime.
eventDate = request("Date_Year") + "-" + Request.Form("Date_Month") + "-" + Request.Form("Date_Day") + " " + Request.Form("Time_Hour") + ":" + request("Time_Minute") + ":00 "
varaktighet = FormatDateTime(DateAdd("n", +Request.Form("varaktighet"), eventDate), 4)
paminnelse = FormatDateTime(DateAdd("n", -Request.Form("Date_Month"), eventDate), 4)
Blir 0000-00-00 00:00:00 i databasen
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg evendate får värdet 2004-10-27 19:30:00 och dom andra två blir värdet 0000-00-00 00:00:00
@nders Medlem sedan juni 2000 32 967 inlägg Du måste se till att du använder rätt subtyper. CDate() på datum, CInt() / CLng() på heltal. Typar man inte går saker och ting åt pipsvängen.
mvh
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Nu förstår jag inte hur du menar igen :stud
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Testade så här:
eventDate = request("Date_Year") & "-" & Request.Form("Date_Month") & "-" & Request.Form("Date_Day") & " " & Request.Form("Time_Hour") & ":" & request("Time_Minute") & ":00 "
eventDate = CDate(eventDate)
varaktighet = FormatDateTime(DateAdd("n", +varaktighet, eventDate), 4)
paminnelse = FormatDateTime(DateAdd("n", -Request.Form("Date_Month"), eventDate), 4)
Response.Write(eventDate &"<br>" & _
varaktighet &"<br>" & _
paminnelse)
Då blev dessa värden utskrivna:
2004-10-27 20:40:00
20:55
20:30
D Denkan Medlem sedan juni 2002 256 inlägg Vad har varaktighet för värde innan du du tilldelar den värde i din kod?
@nders Medlem sedan juni 2000 32 967 inlägg Vad bra! Då innehåller variablerna precis det de ska nu. (y)
D Denkan Medlem sedan juni 2002 256 inlägg Inte för att jag ser att du använder paminnelse's värde (10) till något, men det borde ju funka nu ;P
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Hur gör jag för att variablen varaktighet ska bli 2004-10-27 20:55:00?
D Denkan Medlem sedan juni 2002 256 inlägg Testa med fler variabler. ASP gillar kanske inte att du blandar typerna på det där sättet.
<%
eventDate = request("Date_Year") & "-" & Request.Form("Date_Month") & "-" & Request.Form("Date_Day") & " " & Request.Form("Time_Hour") & ":" & request("Time_Minute") & ":00 "
eventDate = CDate(eventDate)
Dim dVaraktighet,dPaminnelse
dVaraktighet = FormatDateTime(DateAdd("n", +CInt(varaktighet), eventDate), 4)
dPaminnelse = FormatDateTime(DateAdd("n", -CInt(Request.Form("Date_Month")), eventDate), 4)
Response.Write(eventDate &"<br>" & _
dVaraktighet &"<br>" & _
dPaminnelse)
%>
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Får fortfarande dessa värden:
2004-10-27 20:40:00
20:55
20:30
D Denkan Medlem sedan juni 2002 256 inlägg Ehum... vilka värden VILL du få?
@nders Medlem sedan juni 2000 32 967 inlägg Jag förstår inte varför du använder FormatDateTime på de två värdena du skapar med DateAdd.
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Det är mycket möjligt att FormatDateTime har inte hållt på med tid så mycket innan.
Det jag vill är att ta tiden man får fram ur eventDate och lägga till/ta bort tiden som man får ur dom andra två formulären.
D Denkan Medlem sedan juni 2002 256 inlägg Och det gör den inte nu?
' Lagrar tiden efter att ha adderat med varaktighet (10) minuter
dVaraktighet = FormatDateTime(DateAdd("n", +CInt(varaktighet), eventDate), 4)
' Lagrar tiden efter att ha subtraherat med POST-parametern Date_Month (månad (?)) minuter
dPaminnelse = FormatDateTime(DateAdd("n", -CInt(Request.Form("Date_Month")), eventDate), 4)
Jag tycker koden agerar korrekt.
B Bosse168 Medlem sedan nov. 2003 1 018 inlägg Om jag gör så här så fungerar det men det borde väl finnas bättre sätt?
eventDate = request("Date_Year") & "-" & Request.Form("Date_Month") & "-" & Request.Form("Date_Day") & " "& Request.Form("Time_Hour") & ":" & request("Time_Minute") & ":00 "
eventDate = CDate(eventDate)
eventDate2 = request("Date_Year") & "-" & Request.Form("Date_Month") & "-" & Request.Form("Date_Day") & " "
Dim dVaraktighet,dPaminnelse
' Lagrar tiden efter att ha adderat med varaktighet (10) minuter
dVaraktighet = eventDate2 & FormatDateTime(DateAdd("n", +CInt(varaktighet), eventDate), 4)
' Lagrar tiden efter att ha subtraherat med POST-parametern Date_Month (månad (?)) minuter
dPaminnelse = eventDate2 & FormatDateTime(DateAdd("n", -CInt(paminnelse), eventDate), 4)
D Denkan Medlem sedan juni 2002 256 inlägg Ehum... alltså
<%
eventDate = request("Date_Year") & "-" & Request.Form("Date_Month") & "-" & Request.Form("Date_Day") & " "& Request.Form("Time_Hour") & ":" & request("Time_Minute") & ":00 "
eventDate = CDate(eventDate)
Dim dVaraktighet,dPaminnelse
dVaraktighet = DateAdd("n", +CInt(varaktighet), eventDate)
dPaminnelse = DateAdd("n", -CInt(paminnelse), eventDate)
%>
/r
Råkade posta koden i min iver, innan jag hann ändra den. Denna kör jag och den fungerar superb.
@nders Medlem sedan juni 2000 32 967 inlägg Du har inte provat att ta bort FormatDateTime, som jag tipsade om? Då borde du ju få datum och tid i rätt subtyp...