Avatar billede hjaelp Nybegynder
21. december 2003 - 11:52 Der er 7 kommentarer og
1 løsning

problem med sql kald

jeg har i min tabel en kolonne der hedder "dato", og jeg skal udtrække alle de datoer hvor ugenummeret er det samme som denne uges ugenummer (DatePart("ww", Date))... hvordan gør jeg det... mit sql kald ser sådan ud:

StrSQL = "select * from " & datepart("yyyy",date) & " WHERE " & DatePart("ww", RS("Dato")) & " = " & DatePart("ww", date) & " order by Tidspunkt"

problemet er at man jo ikke kan skrive RS("dato") i selve kaldet.... hjælp, hvad skal jeg så skrive?
Avatar billede eagleeye Praktikant
21. december 2003 - 12:13 #1
Du skal bare skrive kolonnenavnet direkte i SQL sætningne uden rs:


StrSQL = "select * from " & datepart("yyyy",date) & " WHERE DatePart('ww',Dato) = " & DatePart("ww", date) & " order by Tidspunkt"
Avatar billede hjaelp Nybegynder
21. december 2003 - 12:16 #2
Too few parameters, desværre....
så den tager ikke ugenummeret fra datoen :(
Avatar billede hjaelp Nybegynder
21. december 2003 - 12:30 #3
nu har jeg så lige oveni det problem at serveren det ligger på vælger at putte datoer og tid ind i databasen med engelske standarter.. så nogle af datoerne skal lige vender før den kan finde ud af det... og session.LCID hjælper ikke her
Avatar billede eagleeye Praktikant
21. december 2003 - 12:37 #4
Når du bruger SQL og datoer skal man bruge åååå-mm-dd formatet som dato da det er standart. Hvis man bruger DK format dd-mm-åååå vil den bytte rundt på dag og månede sådan her: mm-dd-åååå det skal man lige huske.
Avatar billede eagleeye Praktikant
21. december 2003 - 12:39 #5
Prøv at udskrive din SQL sætning så det tit lettere at se om der er fejl i den:

StrSQL = "select * from " & datepart("yyyy",date) & " WHERE DatePart('ww',Dato) = " & DatePart("ww", date) & " order by Tidspunkt"

Response.Write StrSQL
Response.End  '<--- kan være nødvendig for at stoppe koden.
Avatar billede hjaelp Nybegynder
21. december 2003 - 12:46 #6
ok... nu har jeg klaret den med en:

StrSQL = "select * from " & datepart("yyyy",date) & " WHERE DatePart('ww',Dato, 2) = " & DatePart("ww", date, 2) & " order by Tidspunkt"

men hvis serven nu skifter sprog IGEN, så er der andet af min kode der ikke virker... hvordan laver man så en Date(,2)?? hvad skal der stå før kommaet?
Avatar billede hjaelp Nybegynder
21. december 2003 - 12:55 #7
nå men tak skal du have eagleeye... nu har jeg da fundet ud af det... og er blevet endnu mere sur på den engelske dato måde... :) tak
Avatar billede eagleeye Praktikant
21. december 2003 - 14:12 #8
Man er næsten altid nød til at kode sig ud af det, for dato funktionerne bruger det format serveren er sat til:
Så hvis man har datoen 04-12-2003 så vil Month(date) give 12 med en DK server og 04 for en UK server.
Derfor er det altid en god ide at sætte serveren til det format man selv bruger.
Man kan sætte det med Session.LCID som du selv var inde på.
Og så formatere datoen til SQL så man bruger formatet åååå-mm-dd når det er via SQL.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester