01. marts 2008 - 12:57Der er
5 kommentarer og 1 løsning
Opdaterer dato i MS SQL db m. ASP
Jeg forsøger at opdatere db´ens dato (MS SQL 9), med ét minuts forsinkelse, men uanset hvordan jeg forsøger, uskrives dato forkert. Timestamp for minuttet (-1) synes at være korrekt, men resten af datoen går i kluder!
Dags dato skulle gerne se f.eks. sådan her ud "01-03-2008 12:10:00", men datoen udkrives med 03-01-2008...
Jeg har naturligvis angivet dansk datoformat i min kode (Session.lcid = 1030)
Har desuden forsøgt mig med en "international dato", for at sikre at db´en skriver den korrekte dato, men ej heller det virker! :(
Jeg skal lige huske at sige, at funktionen --> internationalDateTime = Year(Now()) & "-" & Month(Now()) & "-" & Day(Now()) & " " & Hour(Now()) & ":" & Minute(Now())& ":" & Second(Now()) <--
Virker fint, hvis det bare er "her og nu" datoen jeg vil sætte ind i db´en, men problemet opstår kun når jeg forsøger at trække den ene minut fra!
Nielle: Ja, det viser jeg også i det oprindelige indlæg (ret mig hvis jeg tager fejl): Datoforsøg med Now(): rsUpdatepub.CommandText = "UPDATE tbl_XX SET x_active = 1, x_date = '"& dateadd("n", -1, Now()) &"' WHERE...
> Nielle: Ja, det viser jeg også i det oprindelige indlæg (ret mig hvis jeg tager fejl):
Ja siden du beder om det så må jeg jo rette ;^)
Nej, i dit oprindelige spørgsmål er du ude og bruge de dato-funktioner som fidnes i ASP: Year(), Now(), DateAdd() osv. Der er der intet galt med, men man kan hurtigt opleve at få problemer hvis man så selv skal sammenstykke SQL-strengen. Det er også det der ske4r for dig: Skal di vælge dansk eller amerikansk datoformat.
Imidlertid er man slet ikke tvunget til at bruge ASP's varianter - enhver database med resekt for sig selv har nemlig nogle indbyggede dato- og tidsfunktioner. Det er dem jeg foreslår dig at bruge, og det er dem som du har brugt i din endelige løsning i 02/03-2008 08:11:00.
Det der narre er at - siden at det jo er Microsoft som har lavet både ASP og MS SQL - så har de også valgt at kalde dato/tidsfunktionerne akkurat det samme begge steder. Men det må man ikke lade sig narre af - det er ikke de samme funktioner.
Fidusen ved at anvende MS SQL's egen frem for dem ude fra ASP, er at MS SQL serverens versioner altid ved hvordan den den selv opfatter datoer og den slags. Når man skriver Date() eller Now() direkte i SQL strengen så vil den altid selv finde ud af at bruge den rette version.
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.