Avatar billede brian-johansen Nybegynder
15. august 2005 - 18:10 Der er 10 kommentarer og
1 løsning

Problemer med select af dato

Hej,

Jeg har fået et problem, jeg er ved at lave en kalender i C# hvor man skal kunne se dagens aktiviter ved at klikke på en dag.

Jeg får så en selcet sætning der hedder (Hvis man klikker på d. 10-08-2005):

Select dato,tid,kampange,emne,Kalendertekst,sted From event Where dato=#10-08-2005#


Det mest underlige er at hvis jeg vælger den 08-08-2005 så kan den godt finde hvad der er på datoen, resten af dagene virker ikke.


Er der nogen der har nogen ideer om hvad jeg gør galt

mvh Brian
Avatar billede busschou Praktikant
15. august 2005 - 18:13 #1
du skal prøve at vende formatet om til yyyy-mm-dd fremfor dd-mm-yyyy
Avatar billede busschou Praktikant
15. august 2005 - 18:14 #2
ellers risikerer du at access misfortolker det som mm-dd-yyyy
Avatar billede brian-johansen Nybegynder
15. august 2005 - 18:14 #3
ved du hvordan man gør det i C#
Avatar billede brian-johansen Nybegynder
15. august 2005 - 18:15 #4
Jeg har lavet et input mask
Avatar billede busschou Praktikant
15. august 2005 - 18:15 #5
jeg har ikke nogen god forklaring på hvorfor det er at det sker i access men det sker ofte så jeg vil anbefale du benytter yyyy-mm-dd såvel ved Insert som Update og Select
Avatar billede busschou Praktikant
15. august 2005 - 18:18 #6
øhm njaa ikke helt desværre for kender ikke dato funktionerne i C#
Men du må ud af "10-08-2005" kunne hive år, måned og dag og sætte det sammen omvendt til "2005-08-10" inden du sætter det i din sql sætning
Avatar billede brian-johansen Nybegynder
15. august 2005 - 18:20 #7
Okay nu prøvede jeg lige at vende det også kan den sagtens finde hvad jeg søger
Avatar billede busschou Praktikant
15. august 2005 - 18:20 #8
i vbscript ville det blive
year("10-08-2005")&"-"&month("10-08-2005")&"-"&day("10-08-2005")
Avatar billede busschou Praktikant
15. august 2005 - 18:22 #9
så vidt jeg har hørt er problemet med access og sql at den altid prøver mm-dd-yyyy og hvis det mislykkeds så prøver den dd-mm-yyyy
hvis du fx har den 23-12-2005 så forstår den det fordi der ikke findes en 12-23-2005
Men når du har 10-08-2005 så vil den tolke det som 08-10-2005 fordi den findes
--
Derfor bør man altid vende det hele om før indsættelse og søgning i sql så det bliver 2005-08-10 hvorved den altid forstår det
underligt nok, har aldrig fået en rigtig forklaring, men det er da en løsning :o)
Avatar billede brian-johansen Nybegynder
15. august 2005 - 18:45 #10
Jeg fandt ud af det, mange tak for hjælpen


Fik lavet en sætning:

DateTime datoTmp = DateTime.Parse(Calendar1.SelectedDate.ToShortDateString());
string date = datoTmp.ToString("MM-dd-yyyy");
Avatar billede busschou Praktikant
15. august 2005 - 18:46 #11
det var så lidt, godt det virker :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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