Avatar billede emil12 Nybegynder
18. juli 2002 - 22:52 Der er 8 kommentarer og
2 løsninger

Fejlkode ?????

Følgende kode :

stop1 = DateAdd("d",rsCos("Days"),RsCos("StartDate"))

SqlDate = "Update Customer Set StopDate = '"&Stop1&"' Where Ordre = '" & Request.QueryString("Order")& "'"
'response.write sqldate
Conn.Execute(SqlDate)

Giver følgende fejl

The conversion of a char data type to a datetime datatype resulted in an out-of-range datetime value

Og det fatter jeg ikke en skid af er der en venlig sjæl der kan hjælpe med det ???
Avatar billede coolcoder Nybegynder
18. juli 2002 - 22:56 #1
du skal ikke have ' uden om din dato. Dvs:

SqlDate = "Update Customer Set StopDate = "&Stop1&" Where Ordre = '" & Request.QueryString("Order")& "'"

eller måske

SqlDate = "Update Customer Set StopDate = #"&Stop1&"# Where Ordre = '" & Request.QueryString("Order")& "'"
Avatar billede entracore Nybegynder
18. juli 2002 - 22:58 #2
SqlDate = "Update Customer Set StopDate = '"&Stop1&"' Where Ordre = '" & Request.QueryString("Order")& "'"

Når du indsætter din variabel "stop1" i tabellen har den datatypen "Char"
Denne skal ændres til Datetime ellers opstår der en fejl.

Jeg går ud fra at det er en SQL database du anvender ikke?

Jeg har en funktion der formatere en dato om til SQL datetime - men det virker kun hvis datoen er dansk format.
Avatar billede emil12 Nybegynder
18. juli 2002 - 23:01 #3
Oki det er testet men så får jeg denne :

Incorrect syntax near '10'

jeg skylder måske lige at sige at det køre på en sql-server
Avatar billede entracore Nybegynder
18. juli 2002 - 23:04 #4
Det er dit datoformat der er forkert. Hvordan ser din dato ud. f.eks. dd-mm-åååå eller mm/dd/åååå ????
Avatar billede eagleeye Praktikant
18. juli 2002 - 23:08 #5
Brug formatet yyyy-mm-dd, så får du ikkke problemmet med dato'en.

stop1 = DateAdd("d",rsCos("Days"),RsCos("StartDate"))
stop1 = Year(stop1) & "-" & Month(stop1) & "-" & Day(stop1)

Og så er din SQL rigtig da der skal ' omrking datoer i MSSQL:

SqlDate = "Update Customer Set StopDate = '"&Stop1&"' Where Ordre = '" & Request.QueryString("Order")& "'"
Avatar billede emil12 Nybegynder
18. juli 2002 - 23:08 #6
Den ser sådan ud dd/mm/åååå ! eks. 18-07-2002 22:18:22
Avatar billede entracore Nybegynder
18. juli 2002 - 23:11 #7
eagleeye >> Kan der ikke opstå problemer med selve datoen hvis man benytter dit eksempel. F.eks. at dag og måned byttes om fordi datoformatet er dansk ????
Avatar billede emil12 Nybegynder
18. juli 2002 - 23:14 #8
Super så fungerer det hele nu, og
Avatar billede coolcoder Nybegynder
18. juli 2002 - 23:15 #9
entracore >> det kan der meget nemt. Datoer er faktisk altid noget lort at arbejde med. Men det gælder bare om at finde en måde at indsætte fx 4.maj 2002 (som jo kan tolkes som 5.april 2002) på, så du kan genskabe den efter et DB-udtræk.
Avatar billede eagleeye Praktikant
18. juli 2002 - 23:18 #10
Jeg bruger selv den metode til Access og MySQL. Jeg antager så at der gælder det samme som for MSSQL at format yyyy-mm-dd kun tolkes som yyyy-mm-dd, det som er problemmet med Access er at selvom man vælger Dansk alle steder så bliver dato gennem SQL hvis dag > 12 lavet om til mm-dd-yyyy, hvis dag er mindre end 12 bliver det dd-mm-yyyy.

For at være ærlig så ved jeg ikke helt om yyyy-mm-dd går med MSSQL. Jeg kan ikke lige se det skulle gå galt da både Year,month,Day og DateAdd er functioner som er relateret til dato formatet så hvis det kommer rigtig ud af tabellen RsCos("StartDate")) tror jeg ikke det giver et problem, hvis dato er forkert fra tabellen skal det løses et andet sted. Så derfor kan jeg ikke se det giver et problem med yyyy-mm-dd.
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