Avatar billede chaser64 Nybegynder
11. oktober 2005 - 10:41 Der er 10 kommentarer og
1 løsning

Brug af dato fra MS SQL DB

Hej Eksperter,

Jeg sidder og arbejder med nogle datoer i ASP. Datoerne kommer fra en MS SQL database. Har lavet følgende lille script jeg gerne skal få til at virke:

'Definerer dato korrekt til brug ved Valid_Date
Dato = Day(date) & "-" & Month(date) & "-" & year(date)

  'Sætter Continue til 1 og Tjek_1 til 0
  Continue = 1
  Tjek_1 = 0
 
  'Tjekker om Valid_date er i dag, og om klokken så er senere end Valid_Time
  If rs_news("Valid_Date") = "Dato" then
      Tjek_1 = 1
      Tid = hour(now) & ":" & minute(now) & ":00"
      If Tid > rs_news("Valid_Time") then
      Continue = 0
      End If

Det virker fint nok i en SQL sætning, når jeg starter med at definere dato så det passer til formatet i DB'en. Nogen der har gode råd?

Mvh
Casper
Avatar billede nielle Nybegynder
11. oktober 2005 - 11:43 #1
Du skriver ikke noget om hvornår det så ikke virker?

Køre din ASP med dansk eller engelsk opsætning?

Hvis dansk så prøv med:

Dato = CDate(Day(date) & "-" & Month(date) & "-" & Year(date))

Hvis engelsk så prøv med:

Dato = CDate(Month(date) & "-" & Day(date) & "-" & Year(date))

Endelig kan du også forsøge dig med:

Dato = CDate(Year(date) & "-" & Month(date) & "-" & Day(date))

- som jo svare mere til dato-formatet i databasen.
Avatar billede chaser64 Nybegynder
11. oktober 2005 - 12:14 #2
Tak for dit svar. Det der ikke virker er, at selvom rs_news("Valid_Date") er i dag, så sætter den ikke Tjek_1 til 1, altså sammenlignen med rs_news("Valid_Date") og "Dato" mislykkedes, selvom de to værdier skulle være ens.

Min ASP kører med dansk opsætning er jeg ret sikker på. I databasen står datoen som 11-10-2005

Jeg har prøvet alle de tre dato definitioner du kom med, ingen af dem virker desværre.
Avatar billede nozio Nybegynder
11. oktober 2005 - 13:48 #3
Hvis den her er 100% rigtig:

'Definerer dato korrekt til brug ved Valid_Date
Dato = Day(date) & "-" & Month(date) & "-" & year(date)

  'Sætter Continue til 1 og Tjek_1 til 0
  Continue = 1
  Tjek_1 = 0
 
  'Tjekker om Valid_date er i dag, og om klokken så er senere end Valid_Time
  If rs_news("Valid_Date") = "Dato" then
      Tjek_1 = 1
      Tid = hour(now) & ":" & minute(now) & ":00"
      If Tid > rs_news("Valid_Time") then
      Continue = 0
      End If

så skriver du "Dato" og så bliver det en tekst-streng - prøv uden " omkring Dato

ellers så prøv med: If Cdate(rs_news("Valid_Date")) = Dato then
Avatar billede chaser64 Nybegynder
11. oktober 2005 - 14:07 #4
Skriver nu:

'Definerer dato korrekt til brug ved Valid_Date
Dato = CDate(Day(date) & "-" & Month(date) & "-" & Year(date))

  'Sætter Continue til 1
  Continue = 1
  Tjek_1 = 0
 
  'Tjekker om Valid_date er i dag, og om klokken så er senere end Valid_Time
  If Cdate(rs_news("Valid_Date")) = Dato then
      Tjek_1 = 1
  End if

Der sætter den stadig ikke Tjek_1 = 1 når Valid_Date er i dag
Avatar billede nozio Nybegynder
11. oktober 2005 - 14:41 #5
Prøv at udskrive rs_news("Valid_Date") og Dato - et eller andet sted på siden og så se om de er ens.
Avatar billede nielle Nybegynder
11. oktober 2005 - 17:24 #6
Du kan jo også bare prøve med:

If rs_news("Valid_Date") = Date Then
Avatar billede nielle Nybegynder
22. oktober 2005 - 20:37 #7
Hvad med noget respons?
Avatar billede chaser64 Nybegynder
22. oktober 2005 - 20:39 #8
Undskyld jeg ikke fik svaret. Det virkede heller ikke. Jeg har prøvet alt. Løsningen blev at skrive det helt om, så datoen kom op i SQL sætningen, så virkede det.
Avatar billede chaser64 Nybegynder
22. oktober 2005 - 20:39 #9
Lukker derfor spørgsmålet
Avatar billede nielle Nybegynder
23. oktober 2005 - 09:30 #10
Hvad var løsningen?
Avatar billede chaser64 Nybegynder
23. oktober 2005 - 12:23 #11
Jeg slog to felter sammen, valid_date og valid_time, således at der i valid_date nu står 23-10-2005 12:22:00. Så kan jeg i min SQL sætning tjekke om Dato <= valid_date. Tidligere tjekkede jeg kun om datoen var korrekt, og skulle derefter tjekke om valid_time også var opfyldt, altså om klokken var over det tidspunkt. Men det ærger min stadig at jeg ikke kunne få det andet til at virke, selvom denne løsning er hurtigere at køre.
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