03. december 2007 - 10:13Der er
28 kommentarer og 1 løsning
Hent fra database hvor dato er senere end idag
Jeg skal hente nogle arragemanter fra en database, men den skal ikke gerne vise de arragemanter der har været... Derfor har jeg prøvet med denne: SQL = "SELECT * FROM arrangement WHERE `dato` > "&date()&" ORDER BY `dato` ASC" Men det virker ikke helt... Her kommer alle frem, hvis jeg indsætter < istedet kommer der så ingen frem... Håber lige nogen kan spotte min fejl :-)
Du skal have formateret din ASP dato til det som passer med databasen, eller også skal du bruge en af de interne funktioner. Ser ud til du bruger MySQL...
SQL = "SELECT * FROM arrangement WHERE `dato` > date() ORDER BY `dato` ASC"
Mener du som det her: dd = DatePart("yyyy",Date()) & "-" & DatePart("m",Date()) & "-" & DatePart("d",Date()) SQL = "SELECT * FROM arrangement WHERE `dato` > "&dd&" ORDER BY `dato` ASC"
Ja (men du mangler også lige ' omkring). Og som en kortere kode: dd = "'"& year(Date()) & "-" & month(Date()) & "-" & day(Date()) &"'" SQL = "SELECT * FROM arrangement WHERE `dato` > "&dd&" ORDER BY `dato` ASC"
Også kan det evt være en god ide at bruge en funktion istedet: function DBDate(fDate) DBDate = "'"& year(fDate) &"-"& right("0"&month(fDate),2) &"-"& right("0"&day(fDate),2) end function
SQL = "SELECT * FROM arrangement WHERE `dato` > "& DBDate(date()) &" ORDER BY `dato` ASC"
Er dato feltet af datetime data typen, eller er den evt bare et tekstfelt??
Skal du aldrig skifte database kan det anbefales at bruge MySQL's interne date funktion, så du helt undgår at skulle igennem ASP. Du har altså 2 muligheder:
MySQL date funktion: SQL = "SELECT * FROM arrangement WHERE `dato` > date() ORDER BY `dato` ASC"
Med ASP date formaterings funktion: function DBDate(fDate) DBDate = "'"& year(fDate) &"-"& right("0"&month(fDate),2) &"-"& right("0"&day(fDate),2) &"'" end function
SQL = "SELECT * FROM arrangement WHERE `dato` > "& DBDate(date()) &" ORDER BY `dato` ASC"
Som du kan se er koden til brug af MySQL's date funktion betydlig mere simpel end brug af ASP. Tilgængæld er man lide mere besværligt, hvis man ikke arbejder med dagsdato.
Nej vent... Der kommer en fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.37]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `dato` ASC' at line 1
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.