Avatar billede pfp Nybegynder
09. marts 2003 - 15:47 Der er 2 kommentarer og
1 løsning

Dato og mySQL (igen)

Hej,

På min side skal brugeren indtaste en startdato samt en slutdato der er gældende for restens af postens gyldighed.

Datoen bliver indtastet som 09-03-2003, men jeg vil i databasen (mySQL) gerne have det gemt som 2003-03-09 (altså yyyy-mm-dd).

Det har jeg forsøgt at gøre med følgende lille stump kode, men det bliver de mærkeligste datoer jeg får ud af det.

<%
' henter de indtastede datoer
strStart = Trim(Request.Form("tilbud_start"))
strSlut = Trim(Request.Form("tilbud_slut"))

' konverterer de indtastede datoer til formatet yyyy-mm-dd (US)
tilbud_start = Year(strStart) & "-" & Month(strStart) & "-" & Day(strStart)
tilbud_slut = Year(strSlut) & "-" & Month(strSlut) & "-" & Day(strSlut)
%>

Datatypen i min db er "DATE". I den kode jeg bruger til at gemme i databasen har jeg forsøgt både med og uden plinger rundt om. Uden plinger får jeg bare 0000-00-00, men uden får jeg noget helt hen i været.

Er der nogen der kan hjælpe?

/peter
Avatar billede hossein Nybegynder
09. marts 2003 - 17:42 #1
Jeg bruger denne funktion for at formatere dato med:

På toppen af din side tilføjer du: <% session.LCID = 1030%>

mindato = "03-12-1997"

Function f_format_iso_date( pstrDate )
        dim strDate
    dim strDay
    dim strMonth
    dim strYear
    dim strConvertedDate
       
    strDate        = FormatDateTime( pstrDate, vbShortDate )   
    strDay        = day( strDate )
    if len( strDay ) = 1 then
        strDay = "0" & strDay
    end if       
    strMonth    = month( strDate )
    if len( strMonth ) = 1 then
        strMonth = "0" & strMonth
    end if               
    strYear        = year( strDate )   
       
    strConvertedDate = strYear & "-" & strMonth & "-" & strDay
       
    f_format_iso_date = strConvertedDate
End Function

Lastdato = f_format_iso_date(mindato)

Response.Write lastdato

så kan du i din sql sætning bruge Lastdato som din variable.
I msAccess:
strSQL = "insert into tagwall (navn, dato, temt) values ('hossein', #13-12-2003#, #" & Lastdato & "#)"
Jeg ved ikke hvordan date datatypen skal indsættes i insert sætningen, men du ved, så håber det hjælper.
Avatar billede hossein Nybegynder
09. marts 2003 - 18:05 #2
Ok man sætter ' istedet for # i MySql.
Avatar billede pfp Nybegynder
09. marts 2003 - 18:08 #3
Tak din funktion virker perfekt.

Jeg jeg fandt også lige ud af at der skulle bruges plinger (') istedet for.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester