26. februar 2008 - 09:16Der er
20 kommentarer og 1 løsning
Updateproblemer med datofunction
Når jeg bruger en datofunktion kan jeg ikke ændre i tekstfelterne og når jeg fjerner funktionen kan jeg opdatere tekstfelterne, men datoerne bliver forkert. F.eks bliver 22-02-2008 til 14-01-1847 her er scriptet: <% function nyDato1(skiftDato) nyDato1 = "'"& right(skiftDato, 4) &"-"& mid(skiftDato, 4, 2) & "-" & left(skiftDato, 2) &"'" end function
Det gør nok ingen forskel. Problemet ligger vel i at det ikke ender med at blive formatet: '2008-02-26' - vi ved ikke hvad der kommer fra request.form("datot")
Men det er særdeles usikker kode, når der uden kontrol blot anvendes data fra data fra brugeren. Det er forhåbentlig ikke noget, der ligger frit tilgængeligt på nettet ;)
erikjacobsen, ja det havde jeg ikke lige tænkt på, men den ser godtnok mystisk ud med datofunktionen: Update T_dok set dfra='lørdag', ftid='kl:0500',dtil='Søndag',ttid='0500', datof='2-08-02-22',besaetning='en hel masse personer' where id=19
hvis man skifter 4 ud med 2 så funktionen ser sådanher ud function nyDato1(skiftDato) nyDato1 = "'"& right(skiftDato,2) &"-"& mid(skiftDato, 4, 2) & "-" & left(skiftDato, 2) &"'" end function så kommer datoen til at blive 08-02-22, - der mangler så lige 20 foran - ka man sætte det ind??
sådan her virker det function nyDato1(skiftDato) nyDato1 = "'20"& right(skiftDato,2) &"-"& mid(skiftDato, 4, 2) & "-" & left(skiftDato, 2) &"'" end function
Du får lige den funktion jeg bruger til datoer (lidt revurderet)
function DBDate(funkDato) dim SQLYear,SQLMonth,SQLDay if MyIsDate(funkDato) then DBDate = "'"& year(funkDato) & right("0"& month(funkDato),2) & right("0"& day(funkDato),2) & "'" else Response.write """"& funkDato &""" is not valid date." response.end end if end function
function MyIsDate(dato) dim returVal returVal = false if len(dato) = 10 then if isnumeric(left(dato,2)) then if cint(left(dato,2)) >= 1 and cint(left(dato,2)) <= 31 then if isnumeric(mid(dato,4,2)) then if cint(mid(dato,4,2)) >= 1 and cint(mid(dato,4,2)) <= 12 then if isnumeric(right(dato,4)) then if mid(dato,3,1) = "-" and mid(dato,6,1) = "-" then if isDate(dato) then returVal = true end if end if end if end if end if end if end if end if MyIsDate = returVal end function
Kræver at du har session.LCID = 1030 sat på dine sider...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.