/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Weekday og select case?
Fra : Ukendt


Dato : 09-11-07 07:19

God morgen.

Jeg henter en dato fra en MS SQL database og finder ugedagen med 'weekday',
Når datoen indsættes i databasen opdeles den i år, måned og dag med
'DateSerial'.

Jeg finder ugedagen med :

<%DO WHILE NOT rs.EOF
WeekdayNumber = (Weekday((rs("PlayDate"))))
Select Case WeekdayNumber
Case 1
Ugedag="Søndag"
Case 2
Ugedag="Mandag"................

Bør jeg igen opdele datoen når den hentes fra databasen, før jeg finder
ugedag nummeret med (Weekday(dato)) ?
Er det muligt at placere 'Select Case' schriptet uden for (før) loopen 'DO
WHILE...' ?

God weekend
Henning





 
 
Jørn Andersen (09-11-2007)
Kommentar
Fra : Jørn Andersen


Dato : 09-11-07 09:39

On Fri, 9 Nov 2007 07:18:48 +0100, "Henning Smed" <henning snabela
smeds dot dk> wrote:

>God morgen.
>
>Jeg henter en dato fra en MS SQL database og finder ugedagen med 'weekday',
>Når datoen indsættes i databasen opdeles den i år, måned og dag med
>'DateSerial'.

Du mener vel, at dag, måned, år *samles* til en dato-værdi, inden den
indsættes - ?

>Jeg finder ugedagen med :
>
><%DO WHILE NOT rs.EOF
> WeekdayNumber = (Weekday((rs("PlayDate"))))
> Select Case WeekdayNumber
> Case 1
> Ugedag="Søndag"
> Case 2
> Ugedag="Mandag"................
>
>Bør jeg igen opdele datoen når den hentes fra databasen, før jeg finder
>ugedag nummeret med (Weekday(dato)) ?

Nej, det får du kun problemer ud af. Den værdi, du henter med
rs(PlayDate), er en dato-værdi, som det skal være.

>Er det muligt at placere 'Select Case' schriptet uden for (før) loopen 'DO
>WHILE...' ?

Nej - for din WeekdayNumber skifter jo for hver record.

Men du kan simplificere det lidt ved at bruge et array i stedet:

arrUgeDag =
Array(,"Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag",Søndag")

Denne definiton sætter du inden loopen.
Bemærk kommaet før "Søndag" - det gør, at "Søndag" er nr. 1, da arrays
er nul-nummererede.

Du erstatter så din Select Case-blok med:
Ugedag = arrUgeDag(WeekdayNumber)
- altså inde i loopen.

Alt i alt sparer det en del kodelinier. Samme teknik kan bruger til
månedsnavne.

Good luck!

--
Jørn Andersen,
Brønshøj

Ukendt (09-11-2007)
Kommentar
Fra : Ukendt


Dato : 09-11-07 10:06


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:1h68j3trjugv2jebhkrkbsmraf50j5u12t@4ax.com...
> On Fri, 9 Nov 2007 07:18:48 +0100, "Henning Smed" <henning snabela
> smeds dot dk> wrote:
>
>>God morgen.
>>
>>Jeg henter en dato fra en MS SQL database og finder ugedagen med
>>'weekday',
>>Når datoen indsættes i databasen opdeles den i år, måned og dag med
>>'DateSerial'.
>
> Du mener vel, at dag, måned, år *samles* til en dato-værdi, inden den
> indsættes - ?
>

Ja selvføgelig - jeg må lære at skrive det jeg mener .

>>Jeg finder ugedagen med :
>>
>><%DO WHILE NOT rs.EOF
>> WeekdayNumber = (Weekday((rs("PlayDate"))))
>> Select Case WeekdayNumber
>> Case 1
>> Ugedag="Søndag"
>> Case 2
>> Ugedag="Mandag"................
>>
>>Bør jeg igen opdele datoen når den hentes fra databasen, før jeg finder
>>ugedag nummeret med (Weekday(dato)) ?
>
> Nej, det får du kun problemer ud af. Den værdi, du henter med
> rs(PlayDate), er en dato-værdi, som det skal være.
>
OK tak.
>>Er det muligt at placere 'Select Case' schriptet uden for (før) loopen 'DO
>>WHILE...' ?
>
> Nej - for din WeekdayNumber skifter jo for hver record.
>
> Men du kan simplificere det lidt ved at bruge et array i stedet:
>
> arrUgeDag =
> Array(,"Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag",Søndag")
>
> Denne definiton sætter du inden loopen.
> Bemærk kommaet før "Søndag" - det gør, at "Søndag" er nr. 1, da arrays
> er nul-nummererede.
>
> Du erstatter så din Select Case-blok med:
> Ugedag = arrUgeDag(WeekdayNumber)
> - altså inde i loopen.
>
> Alt i alt sparer det en del kodelinier. Samme teknik kan bruger til
> månedsnavne.

Mange tak Jørn,
Jeg vil bruge array i stedet for select case, det vil gøre koden mere
overskuelig og formodentlig hurtigere.

God weekend
Henning



Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste