/ 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
kalender uden gamle arrangementer
Fra : Dj Uncas


Dato : 23-01-05 22:00

Hej alle

Jeg har siddet og puslet lidt med det, men har ikke funet en løsning endnu.
Mit problem er hvordan man viser alle datafra en database med en dato der er
større end dags dato, således at overståede arrangementer ikke vises efter
den dato de finder sted.

Jeg har prøvet noget med:

sql = "Select * From calendar Where eventDate > '" & Now & "' Order by
eventDate"

men det virker ikke. Jeg får ingen fejl, men der sker heller ikke noget!
Ideer?



 
 
Casper Bang (23-01-2005)
Kommentar
Fra : Casper Bang


Dato : 23-01-05 23:06

> sql = "Select * From calendar Where eventDate > '" & Now & "' Order by
> eventDate"
>
> men det virker ikke. Jeg får ingen fejl, men der sker heller ikke noget!
> Ideer?

Det kommer lidt an på hvilken database du bruger, men en af følgende burde
virker:

sql = "Select * From calendar Where eventDate > Now() Order by eventDate"
sql = "Select * From calendar Where eventDate > GetDate() Order by
eventDate"



Dj Uncas (23-01-2005)
Kommentar
Fra : Dj Uncas


Dato : 23-01-05 23:27

> Det kommer lidt an på hvilken database du bruger, men en af følgende burde
> virker:
>
> sql = "Select * From calendar Where eventDate > Now() Order by eventDate"
> sql = "Select * From calendar Where eventDate > GetDate() Order by
> eventDate"

Jeg bruger MySQL, og løsningen med Now() virker! Tak for det...



Jens Gyldenkærne Cla~ (24-01-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-01-05 13:38

Dj Uncas skrev:

> sql = "Select * From calendar Where eventDate > '" & Now & "' Order by
> eventDate"

Du har fået en løsning der virker - jeg vil bare lige fortælle hvorfor
ovenstående ofte ikke virker.

Som sql-sætningen står herover udregner asp-parseren dags dato,
konverterer den til en tekst og sætter den ind i sql-variablen.
Databasen modtager så datoen som en tekst og skal konvertere tilbage til
en dato. Der er altså to konverteringer mellem tekst- og dato-format
involveret.

Datoer kan angives som tekst på mange måder - og to af de mest
almindelige kan desværre forveksles: dd-mm-yyyy (dansk/europæisk
standard) og mm-dd-yyyy (amerikansk standard og standard i mange
programmer). Med andre ord - 10-12-2005 kan både fortolkes som 10.
december og 12. oktober.

Den bedste måde at sikre sig mod denne type fejl er at undgå
tekstrepræsentationer af datoer når det kan lade sig gøre. En funktion
der returnerer dags dato er standard ikke bare i asp/vbscript, men også
i alle normale databasesystemer. Når man bruger databasens funktion til
dags dato, er det helt underordnet hvilke formater der anvendes internt
i databasen og på asp-siden.

Det er lidt vanskeligere hvis det ikke bare er dags dato man skal bruge,
men der findes ofte andre datofunktioner man kan bruge direkte i
databasen - og dermed undgå den fri fortolkningsmulighed.

--
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

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

Månedens bedste
Årets bedste
Sidste års bedste