18. august 2004 - 11:45Der er
18 kommentarer og 1 løsning
Dato uden tid??
Hej I min db skal jeg bruge et dato-felt. Jeg bruger indtil videre "datetime", men mit problem er at når jeg trækker det ud og over på min asp.net side viser den også tid og det skal jeg som sådan ikke bruge. Kun selve datoen er vigtig.
Kan jeg slå det fra i db'en eller skal jeg til at fjerne det i koden??
Mærkeligt... Det her jeg aldrig hørt om før. Jeg får aldrig klokken med hvis den ikke står i manager. Så må du vel fjern det i koden, som arne_v forslog.
SQL Server har kun et DATETIME felt - dvs. den lagrer altid dato & tidspunkt uanset om man bruger DATE(), NOW() eller TIME(). Ved Date() er tidspunktet blot 12:00:00 mens datoen ved TIME() er 1 januar. du skal derfor fjerne det i din vb kode - f.eks. vedat bruge SHORT DATE FORMAT på din streng.
Der er jeg lidt uenig med dig. Jeg har arbejdet daglig med MS-SQL og ASP i 2 år nu, og hvis jeg bruger date() (gerne sat som default værdi) så får jeg ikke et klokkeslet med, hverken i manageren eller i koden. Det kan jo være det bare ikke bliver vist, men hvis jeg laver sammenligninger (med klokkeslet) opfører den sig som 00:00:00. Ikke 12:00:00.
Kunne det evt være en indstilling eller version forskelle???
Korrekt! Applikationen formaterer nu den tid som SQL-Server returnerer og længere er den ikke. Du kan ikke sige til SQL-serv at den kun skal returnere datoen - den vil altid give tiden med.
Jeg undskylder... Jeg var for hurtig på aftrækkeren.
Det hedder getDate (og den virker som now()). Jeg har også været en stor del kode igennem, og må konstatere at vi (næsten) altid overskriver med date() funktionen fra ASP, når vi indsætter/ændre data i DB'en.
Det ændre dog ikke på, at der faktisk kun står en dato i tabellerne, og der kun kommer en dato ud igen hos os.
Jeg har lavet en lille test side. Der er et dump fra manageren, samt en komplet udskrivning fra databasen af feltet EndTime. Koden til udskrivning er her, og som i kan se gør jeg ikke noget ved datoen.
<% set oRs = oconn.execute("select * from events") do while not oRs.eof Response.write "EndTime: "& oRs("endtime") & "<br>" oRs.MoveNext loop %>
Nogen der vil kommentere hvorfor jeg kan nøjes med at få datoen ud, mens andre åbentbart ikke kan???
de data jeg har tilføjet i min db, er gjort via sqlserver manager. Jeg kunne forestille mig at hvis jeg lavede et par inserts hvor jeg brugte date() eller now() via asp ville den sikkert også kun indsætte dato - og dermed ikke vise tid når jeg trækker data'ene ud igen.
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.