|
| Tidsformat bliver vendt om ? Fra : Jakob Munck |
Dato : 05-02-04 07:44 |
|
Jeg har en medlemssite, hvor det registreres hvornår medlemmerne har meldt
sig ind. Men tidsformatet er tilsyneladende forskelligt, når jeg tester
siten på min egen server (IIS5.1) og når jeg anvender siten på det webhotel,
hvor den ligger. Når jeg skriver "Now()" ind i databasen (Access/DK
datofelt) på min egen server, indsættes det som dansk tidsformat, altså:
05-02-2004
Men når jeg indsætter det samme på serveren hos min udbyder, så indsættes
det som engelsk tidsformat, altså:
02-05-2004
Dette er temmelig generende, og det skal siges, at jeg i starten af koden
har forsøgt at låse den til dansk tidsformat ved at skrive:
Session.LCID = 1030
Hvad gør jeg galt, siden at tidsformatet vises forskelligt på de to servere?
v.h.
Jakob Munck
| |
Jacob .. (05-02-2004)
| Kommentar Fra : Jacob .. |
Dato : 05-02-04 10:41 |
|
> Session.LCID = 1030
Jeg havde samme problem engang, men der hjalp det med:
<%Session.LCID = 1030%>
Det indsatte jeg øverst på alle sider der henter datoen. Funger fint....
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (05-02-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 05-02-04 11:45 |
|
Jakob Munck skrev:
> Jeg har en medlemssite, hvor det registreres hvornår
> medlemmerne har meldt sig ind.
Hvordan?
> Men tidsformatet er tilsyneladende forskelligt, når jeg tester
siten på min egen server (IIS5.1) og når jeg anvender siten på det
webhotel, hvor den ligger. Når jeg skriver "Now()" ind i databasen
Asp's Now() eller Access' Now()?
Når man arbejder med datoer, er det en god ide at undgå
tekstrepræsentationer af datoen så meget som muligt.
Hvis du skriver:
strSQL = "INSERT INTO tabel (datofelt) VALUES (" & Now() & ")"
- så er du afhængig af hvordan asp-siden formaterer datoværdien i
Now.
Men hvis du i stedet skriver:
strSQL = "INSERT INTO tabel (datofelt) VALUES ( Now() )"
- så er det Access-basen der fortolker Now-funktionen. Hermed er
tekstrepræsentationen af datoen undgået, og du har en fejlkilde
mindre.
Det letteste og mest effektive i dit tilfælde er dog at definere
Now som standardværdi for feltet. Så skal man slet ikke bekymre sig
om at indsætte noget i feltet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jakob Munck (05-02-2004)
| Kommentar Fra : Jakob Munck |
Dato : 05-02-04 17:39 |
|
Tak for svaret, men jeg må så lige spørge:
>
> Asp's Now() eller Access' Now()?
>
>
Koden ser sådan ud:
<%
.....
indm_tid = Now()
sidste_besoeg = Now()
SQL_insert = "INSERT INTO tbMedlemmer (fornavn, efternavn, telefon, vej,
vej_nr, bogstav_sal, email, email_synlig, status, password, foto,
supl_oplysn, indm_tid, nyhedsbrev, antal_besoeg, sidste_besoeg) values ('" &
fornavn & "','" & efternavn & "','" & telefon & "', '" & vej & "', '" &
vej_nr & "', '" & bogstav_sal & "', '" & email & "', '" & email_synlig & "',
'" & status & "', '" & password & "', '" & foto & "', '" & supl_oplysn & "',
'" & indm_tid & "', '" & nyhedsbrev & "', '" & antal_besoeg & "', '" &
sidste_besoeg & "')"
Conn.Execute SQL_insert
.......
%>
Så det er vel ASP-Now, som jeg forstår det...?
> Hvis du skriver:
>
> strSQL = "INSERT INTO tabel (datofelt) VALUES (" & Now() & ")"
>
> - så er du afhængig af hvordan asp-siden formaterer datoværdien i
> Now.
>
> Men hvis du i stedet skriver:
>
> strSQL = "INSERT INTO tabel (datofelt) VALUES ( Now() )"
>
> - så er det Access-basen der fortolker Now-funktionen. Hermed er
> tekstrepræsentationen af datoen undgået, og du har en fejlkilde
> mindre.
>
OK, og det jeg har gjort ovenfor, det er vist det forkerte, ikke?
> Det letteste og mest effektive i dit tilfælde er dog at definere
> Now som standardværdi for feltet. Så skal man slet ikke bekymre sig
> om at indsætte noget i feltet.
Hvordan skal det forstås? Hvordan kan jeg definere Now som en standardværdi,
når den skal vise det tidspunkt, hvor folk melder sig ind? Mener du at jeg
skal lave mit eget datoformat og sætte ind i et tekstfelt i databasen i
stedet for at bruge dens særlige datofelt?
v.h.
Jakob Munck
| |
Jens Gyldenkærne Cla~ (05-02-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 05-02-04 21:30 |
|
Jakob Munck skrev:
>> Asp's Now() eller Access' Now()?
> indm_tid = Now()
> sidste_besoeg = Now()
Ovenstående to linjer køres af asp.
> Så det er vel ASP-Now, som jeg forstår det...?
Jep.
> OK, og det jeg har gjort ovenfor, det er vist det forkerte,
> ikke?
Det er ikke forkert, men upraktisk - fordi du får en ekstra
fejlmulighed når asp-datoen konverteres til tekst.
> Hvordan skal det forstås? Hvordan kan jeg definere Now som en
> standardværdi,
Åbn din database i Access, vælg designvisning for din tabel og
marker et felt. Så har du nederst mulighed for at sætte en række
egenskaber for feltet - bl.a. en standardværdi.
Du kan se hvordan skærmbilledet ser ud på siden her:
< http://www.html.dk/tutorials/asp/lektion20.asp>
I boksen standardværdi skriver du Now() - så ved Access at hver
gang der oprettes en ny post skal det pågældende felt have værdien
af funktionskaldet Now (medmindre du manuelt tildeler det en anden
værdi).
> Mener du at jeg skal lave mit eget datoformat og sætte ind i et
> tekstfelt i databasen i stedet for at bruge dens særlige
> datofelt?
Bestemt ikke. Godt nok kan datofelter være drilske, men de giver
også nogle muligheder som man kun med besvær kan opnå med andre
datatyper.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jakob Munck (05-02-2004)
| Kommentar Fra : Jakob Munck |
Dato : 05-02-04 22:24 |
|
Så er jeg blevet klogere endnu en gang.
Mange tak.
v.h.
Jakob
| |
Jens Gyldenkærne Cla~ (05-02-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 05-02-04 23:31 |
|
Jakob Munck skrev:
> Mange tak.
Velbekomme. Hvis du vil gøre lidt til gengæld, må du gerne læse min
signatur.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jakob Munck (06-02-2004)
| Kommentar Fra : Jakob Munck |
Dato : 06-02-04 07:09 |
|
Lige et spørgsmål mere. Når jeg opdaterer et tidspunkt med denne kode:
<%
.......
SQL = "UPDATE tbMedlemmer " & _
"SET sidste_besoeg = Now " & _
"WHERE medlem_id= " & session("medlem_id")
Conn.Execute(SQL)
......
%>
Er det så databasen eller serveren, der bestemmer Now-formatteringen?
Hvordan sikrer jeg, at det er Access der formatterer en update af tiden?
>
> Velbekomme. Hvis du vil gøre lidt til gengæld, må du gerne læse min
> signatur.´
Den har jeg læst. Men jeg kan ikke se, hvad jeg gør forkert m.h.t.
citatteknik.
v.h.
Jakob Munck
| |
Jørn Andersen (06-02-2004)
| Kommentar Fra : Jørn Andersen |
Dato : 06-02-04 10:36 |
|
On Fri, 6 Feb 2004 07:09:22 +0100, "Jakob Munck"
<j.munck.fjernmig@c.dk> wrote:
>Lige et spørgsmål mere. Når jeg opdaterer et tidspunkt med denne kode:
>SQL = "UPDATE tbMedlemmer " & _
>"SET sidste_besoeg = Now " & _
>"WHERE medlem_id= " & session("medlem_id")
>Conn.Execute(SQL)
>Er det så databasen eller serveren, der bestemmer Now-formatteringen?
Det er Access der bestemmer her, idet du jo ikke sender nogen tids-
variabel med Sql-strengen fra ASP-siden.
>Hvordan sikrer jeg, at det er Access der formatterer en update af tiden?
Som du har gjort.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Jens Gyldenkærne Cla~ (06-02-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 06-02-04 11:22 |
|
Jakob Munck skrev:
> Men jeg kan ikke se, hvad jeg gør forkert m.h.t. citatteknik.
I dit foregående indlæg citerede du ingenting. Dermed er det ikke
til at se hvad du kommenterer. Det kan godt være svært at finde et
enkelt citat hvis man svarer på et helt indlæg - men i de tilfælde
kan man fx skrive:
Jens Jensen skrev:
[eksempler på brug af Now i asp og Access]
Det er vigtigt med et kort citat, fordi man ellers ikke har noget
at hægte den nye tekst op på. Når jeg åbner en usenetgruppe, ser
jeg kun de indlæg der er kommet siden sidst. Derfor kan jeg ikke
automatisk se hvem du svarer på når du ikke citerer noget.
Der er i øvrigt et andet generelt problem med din citatteknik - du
glemmer at angive hvem der har skrevet det du citerer. Linjen
"<Navn> skrev:" (eller fx "On <dato> '<Navn>' <mail> wrote:") er
væsentlig af samme grund som citatet er det. Usenetdebatter foregår
mellem mange personer, og der er ikke noget i et enkeltstående
indlæg der afslører hvem der har skrevet det foregående - medmindre
man selv skriver det i brødteksten.
Jeg sætter opfølgning til netikettegruppen (denne del af tråden er
ikke relevant for asp-gruppen).
FUT: <news:dk.admin.netikette>
Om FUT og X-FUT: < http://www.usenet.dk/ord/lokal.html#fut>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
|
|