Avatar billede faxekondi Nybegynder
02. oktober 2006 - 13:15 Der er 8 kommentarer

Brug af # ved forespørgsel på datotid

Hej Alle

Jeg har i min database gemt et antal bookinger hvor jeg har et datotid felt hvor jeg gemmer både dato'en og tidspunktet altså f.eks "30-09-2006 10:30:00".

Jeg skal så have lavet en forespørgsel der finder alt der ligger på datoen 30-09-2006. Jeg har derfor lavet 2 dateTime variable som jeg sætter til henholdsvis "30-09-2006 00:00:00" og "30-09-2006 23:59:59" og vil bruge dem som afgrænsning, men jeg får syntax fejl når jeg prøver at bruge "#" i min forspørgsel. Uden brug af "#" får jeg ingen ting ud og jeg har testet i access at forespørgslen giver resultat.

-- Koden--
Command = new OleDbCommand("select * from AppointmentTable where AppointmentDate > #" + "@AppointmentDateFrom" + "# AND AppointmentDate < #" + "@AppointmentDateTo" + "# order by AppointmentDate", Conn);

parmDateFrom.Value = dateTimeFrom;
parmDateTo.Value  = dateTimeTo;

Command.Parameters.Add(parmDateFrom);
Command.Parameters.Add(parmDateTo);

Conn.Open();
Avatar billede arne_v Ekspert
02. oktober 2006 - 13:44 #1
når man bruger parameters skal man ikke bruge '' eller ##
Avatar billede faxekondi Nybegynder
02. oktober 2006 - 13:54 #2
Har osse prøvet følgende herunder, men stadig uden poster.

-- KODEN --
Command = new OleDbCommand("select * from AppointmentTable where AppointmentDate > @AppointmentDateFrom AND AppointmentDate < @AppointmentDateTo order by AppointmentDate", Conn);
Avatar billede arne_v Ekspert
02. oktober 2006 - 14:42 #3
kan du vise den manglende kode (hvor parmDateFrom og parmDateTo oprettes) ?
Avatar billede faxekondi Nybegynder
02. oktober 2006 - 14:53 #4
Jep her er der lidt mere :o) "parmSelectedDate" sættes i Page_Load da den hentes fra cachen (laves senere om til fra session). "parmSelectedDate" er ved Page_Load "30-09-2006 00:00:00" da den blot er valgt fra en kalender kontrol, det er osse tjekket ved at skrive den ud i en label i Page_Load.

-- KODEN --
        DateTime        dateTimeFrom = parmSelectedDate;
        DateTime        dateTimeTo  = parmSelectedDate;
        OleDbParameter  parmDateFrom = new OleDbParameter("@AppointmentDateFrom", OleDbType.DBDate, 20);
        OleDbParameter  parmDateTo  = new OleDbParameter("@AppointmentDateTo", OleDbType.DBDate, 20);

        Command = new OleDbCommand("select * from AppointmentTable where AppointmentDate > @AppointmentDateFrom AND AppointmentDate < @AppointmentDateTo order by AppointmentDate", Conn);

        dateTimeTo = dateTimeTo.AddHours(23);
        dateTimeTo = dateTimeTo.AddMinutes(59);
        dateTimeTo = dateTimeTo.AddSeconds(59);

        parmDateFrom.Value = dateTimeFrom;
        parmDateTo.Value  = dateTimeTo;

        Command.Parameters.Add(parmDateFrom);
        Command.Parameters.Add(parmDateTo);

        Conn.Open();
Avatar billede arne_v Ekspert
02. oktober 2006 - 15:09 #5
hvis du udskriver dateTimeTo og dateTimeFrom indeholder de saa det rigtige ?
Avatar billede faxekondi Nybegynder
02. oktober 2006 - 15:16 #6
ja "30-09-2006 00:00:00" og "30-09-2006 23:59:59"
Avatar billede faxekondi Nybegynder
02. oktober 2006 - 17:51 #7
Slet ingen bud? Jeg har godt nok overvejet om jeg bare skal have et felt til dato og et til tid istedet for at have det hele i en datotid, men synes da det ville være pænere med det hele i et felt, altså rent kodemæssigt.
Avatar billede arne_v Ekspert
02. oktober 2006 - 18:13 #8
jeg er loebet toer for gode ideer

umiddelbart ser alt OK ud
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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