23. november 2007 - 01:00Der er
6 kommentarer og 1 løsning
datediff i sql
Hejsa
Jeg tror jeg er ved at blive gammel... Jeg kan ikke huske hvordan det er vi sætter en datediff i en sql-sætning... Jeg mener jeg har gjort det før...
- Men er der nogen der kan se fejlen her? set rs = conn.execute("select * from kalender where (datediff("d",fdato,showdag & "-" & showmaaned & "-" & aar)=>0 and datediff("d",tdato,showdag & "-" & showmaaned & "-" & aar)<=0)")
Den kommer med denne her fejl: Microsoft VBScript compilation error '800a03ee'
Expected ')'
/test/forsiden/source/kalender.asp, line 120
set rs = conn.execute("select * from kalender where (datediff("d",fdato,showdag & "-" & showmaaned & "-" & aar)=>0 and datediff("d",tdato,showdag & "-" & showmaaned & "-" & aar)<=0)") ---------------------------------------------------------------^
Hvor kommer showdag og showmaaned og aar fra? Er det felter i databasen, eller er det variabler i din ASP-kode? Hvis det er variable i din ASP-kode, så skal SQL-sætningen se lidt anderledes ud:
set rs = conn.execute("select * from kalender where (datediff('d',fdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)=>0 and datediff('d',tdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)<=0)")
Synes godt om
Slettet bruger
23. november 2007 - 22:05#5
Hej softspot
- mange tak for hjælpen indtil nu - men der er stadig problemer... nu får jeg denne her fejl:
Microsoft JET Database Engine error '80040e14' Syntax error (missing operator) in query expression '(datediff('d',fdato,01-11-2007)=>0 and datediff('d',tdato,01-11-2007)<=0)'.
/test/forsiden/source/kalender.asp, line 121
fdato er en kollonne i databasen og det er tdato også
showdag, showmaaned og aar er alle variabler som tilsammen giver en dato...
\Dan
Synes godt om
Slettet bruger
25. november 2007 - 01:03#6
Hej igen
- Nu har jeg så arbejdet en del med denne her sql - og det virker som sådan... i hvert fald med datediff - og så ikke alligevel...
Den ser nu sådan her ud: set rs = conn.execute("select * from kalender where ((datediff('d',fdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)>0 or datediff('d',fdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)=0) and (datediff('d',tdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)=0 or datediff('d',tdato,#" & showdag & "-" & showmaaned & "-" & aar & "#)<0))")
- Men til min store forskrækkelse så kan den ikke styre det hvis at datoen (fdato eller tdato) i databasen er før den tiende i en pågældende måned eller at pågældende måned kun har et ciffer... altså til og med september...
- Så vidt jeg husker så har det noget at gøre med at det er det amerikanske datoformat som spiller ind her... Hvordan er det nu lige vi får rettet op på dette? Jeg har prøvet med session.LCID og det virker ikke...
\Dan
Synes godt om
Slettet bruger
18. januar 2008 - 00:40#7
nu lukker jeg denne her...
skriv hvis du bliver stødt over det med pointene - så finder vi en løsning...
\Dan
Synes godt om
Ny brugerNybegynder
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.