Avatar billede zareba Nybegynder
20. marts 2003 - 12:06 Der er 15 kommentarer og
2 løsninger

Database problemmer

Jeg har lavet en kalender.

Når jeg så skal have fat i en dato fra databasen har jeg problemmer.

Når jeg bruger PWS på min ejer computer får jeg fx. "12-03-03", altså DD-MM-AA.
Men når det ligger på www.frip.dk får jeg "3/12/03", altså M/DD/AA.

Nogle der kan hjælpe, så jeg kan få det samme, fra begge server!
Avatar billede keysersoze Ekspert
20. marts 2003 - 12:08 #1
sæt

<% session.LCID = 1030 %>

i toppen af dit dokument... så opererer du med dansk datoformat
Avatar billede hossein Nybegynder
20. marts 2003 - 12:52 #2
Hvis keysersoze forslag ikke virker, så skal vi kigge på dit SQL sætning. Måske du skal formatere datoen vha. en funktion.
Avatar billede chivato Nybegynder
20. marts 2003 - 12:59 #3
keysersoze rigtigt skriver er det fordi landekode er fucked - dette klares ved keysersoze's programlinie...

Alternativt kan du kigge på formatdate() funktionen...

Håber du får det til at virke

Chivato
Avatar billede zareba Nybegynder
20. marts 2003 - 13:12 #4
Findes der ikke et en måde så man kan nøjes med at skrive/læse fra en database med DD-MM-AA.

Når jeg skal læse fra databasen og have fat i fx. i hele Marts i 2003 skal jeg skrive med #AAAA/MM/DD#:
"Select * from Kalender Where ((Kalender.Gyldig>=#2003/2/1#) AND (Kalender.Gyldig<#2003/3/1#)) ORDER BY Kalender.Oprettet"

Og resultatet jeg får er på min PWS DD-MM-AA og på www.frip.dk M/DD/AA!

Det er sq ret irreterene:-(
Avatar billede hossein Nybegynder
20. marts 2003 - 13:40 #5
Jeg bruger denne funktion for at formatere dato med. Når man insætter dato i en msAccess skal man vær opmærksom på at dato lægges rigtig især med fx: 02-03-2003 som er 02 marts 2003 men laves om 03 februar 2003. Derfor er jo godt at formatere datoen efter ISO standard. Nedenstående funktion kan også bruges når man skal vise/trækker dato.

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.
det er også bug i windows det kan du læse om det i support på microsoft site. jeg ved ikke om microsoft har gjort noget ved det. (bare for orientering)
Avatar billede zareba Nybegynder
20. marts 2003 - 13:58 #6
Har lavet noget der liger din function lidt, men mit problem er til sidst stadig at jeg ikke ved om det jeg læser fra databasen kommer ud som MM/DD/YY(www.frip.dk), M/DD/YY(www.frip.dk) eller DD-MM-YY(PWS).

PS hvad er ISO standarden for en date?
Avatar billede hossein Nybegynder
20. marts 2003 - 14:13 #7
Hvis jeg har forstået rigtig, du kan altid se hvordan dit udtræk skrives, som fx: Response.write minDato, eller hvad?

ISO Date format yyyy-mm-dd
Avatar billede zareba Nybegynder
20. marts 2003 - 14:22 #8
Yes, jeg kan sagtens se hvad jeg har hentet ned fra min database. Men der er forskel på hvilket format jeg får det i. På min ejen computer har jeg PWS instaleret og der får min dato som DD-MM-YY. Men den server, siden ligger på på nettet (www.frip.dk) giver min dato'en som MM/DD/YY.

Og problemet er nu at jeg ikke helt er sikker på hvad der er rigtig?
Avatar billede hossein Nybegynder
20. marts 2003 - 14:35 #9
På din egen maskine under kontrol panel har du valgt "Regional and Language Options" som Dansk. Men serveren på www.Frip.dk måske har valgt engelsk. Men dette kan løses ved <%session.LCID=1030%> når du læser fra DB'en.
Avatar billede zareba Nybegynder
20. marts 2003 - 14:42 #10
Har prøvet at skrive det.
Men det gør ingen forskel:-(

For dato'en "12. Marts 2003" får jeg "3/12/03" tilbage:-(
Avatar billede hossein Nybegynder
20. marts 2003 - 14:50 #11
kan du skrive adressen på: www.Frip.dk eller lægge din kode her, så kan man bedre måske se hvad er hvad?
Avatar billede zareba Nybegynder
20. marts 2003 - 15:07 #12
Der er skam ikke noget gal med koden. Det er bare det at jeg får det forkerte datoformat fra serveren og <%session.LCID=1030%> virker ikke??????????
Avatar billede hossein Nybegynder
20. marts 2003 - 15:46 #13
Så den linie som du skriver ud datoen med, skal formateres, har du prøvet det?
Avatar billede zareba Nybegynder
20. marts 2003 - 15:56 #14
Formateres...
Avatar billede hossein Nybegynder
20. marts 2003 - 22:42 #15
Er du begyndere? Lad os nu sige at det dato som du vil vise på siden ser sådan ud:
minDato = "12-02-1997" ' MM-DD-YYYY så vil du vise den som DD-MM-YYYY

visDato = Day(minDato) & "-" & Month(minDato) & "-" & Year(minDato)

Response.Write lastdato
Avatar billede hossein Nybegynder
21. marts 2003 - 22:31 #16
hvordan går det, måske du skal brug dette:
http://www.sourcecodecorner.com/tips/asp/upsetdate.asp
Avatar billede zareba Nybegynder
24. marts 2003 - 15:05 #17
Har løst problemet.

Det virket hvis man brugte den tyske "session.LCID=1031"

Tror han har nogle problemer på hans server på www.frip.dk :(

Point dem deler i sq bare:)
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