Avatar billede centauri Nybegynder
05. december 2001 - 13:06 Der er 5 kommentarer og
1 løsning

SQL Problem med Datoer

Jeg har fået et underligt problem med min database som er en MS SQL 7.0 og bruger IIS 4 til behandling af mine sider.

Jeg åbner først en tabel og hiver nogel forskellige oplysninger ud, bla. et dato felt og det bliver så skrevet over i en anden tabel.

Men det giver et underligt broblem hvis året er mindre end 1946 så ændre den det til år 2000 istedet for f.eks 1940 til 2040 istedet for. Og det synes jeg sku er vildt underligt.

Kan jo lige vise med lidt kode eksempler hvordan jeg gør.

Ligger dataen over i en variabel
vDate_born=RS(\"Date_Born\")

Og skriver den senere over i en ny database med

\"INSERT INTO [Temp] (Date_born) VALUES (\'\" & vDate_born & \"\'\"

Det burde efter min overbevisning da virke.
Så er begyndt at overveje om det kunne være en database fejl.

Men håber da der er nogen der kender til hvordan dette problem kan løses.



Avatar billede nute Nybegynder
05. december 2001 - 13:22 #1
du mangler ihverfall avsluttende parantes...

\"INSERT INTO [Temp] (Date_born) VALUES (\'\" & vDate_born & \"\')\"

er det en copy/paste feil ?


Avatar billede centauri Nybegynder
05. december 2001 - 13:29 #2
Var bare rolig det var en fejl fra min side af for den sætter også en masse andet ind i databasen og det virker godt nok.
Avatar billede nute Nybegynder
05. december 2001 - 13:41 #3
nååå....jeg leste ikke ditt spørsmå ordentlig...

du kopierer data ? stemmer det ? er datatypene de samme ? har du prøvd å skrive RS(\"Date_Born\") direkte inn uten å legge verdien i en variabel ( selv om jeg ikke kan se nytten av det ) ?
Avatar billede kichian Nybegynder
05. december 2001 - 15:02 #4
VALUES (\'\" & vDate_born & \"\'\" vil resultere i at datoen vil blive udskrevet i kort dato-format, medmindre andet bliver sat op på serveren.
Dvs. at 1940 bliver til 40. År mindre end 50 vil blive fortolket som 2000 og året, ressten som 1900 og året.

For at undgå dette bør man bruge datofunktionerne i databasen og ASP.

Hvorfor hiver du data i gennem ASP, når du mange gange kan flytte data direkte i SQL.
Fx INSERT INTO [Temp] (Date_born) VALUES (SELECT some_date WHERE .... )
Avatar billede excession Nybegynder
05. december 2001 - 22:59 #5
hvad er fordelen ved at bruge SQL til at indsætte istedet for ASP?  Jeg spørger fordi jeg er ny til ASP og SQL så jeg kender ikke de tips & tricks :)

Jeg kan godt oprette et spørgsmål hvis det kræver point :)

-- xs
Avatar billede centauri Nybegynder
10. december 2001 - 10:56 #6
Har lavet skittet på en anden måde for at komme udenom det problem.
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