Avatar billede zetn Nybegynder
25. februar 2004 - 17:28 Der er 26 kommentarer og
2 løsninger

Forkert dato

Heysa, når jeg prøver at smide en dato ind i et "DATE" felt i min MySQL database, bliver inputtet fx. 20-02-2029 - dette er hvis jeg forsøger at indsætte følgende: 29-02-2004 ... Hvordan kan det være?

Mvh.
Jacob
Avatar billede Slettet bruger
25. februar 2004 - 17:37 #1
Prøv at vende det om, 2004-02-29
Avatar billede zetn Nybegynder
25. februar 2004 - 17:44 #2
jeg skal bruge formatet 00-00-0000
Avatar billede lklingenberg Nybegynder
25. februar 2004 - 19:03 #3
Jeg kender ikke MySQL, men har du mulighed for at tjekket/ændre masken på datoformatet i den database?
Avatar billede lklingenberg Nybegynder
25. februar 2004 - 19:19 #4
Ellers har du mulighed for at styre datoen ved at tage en del ad gangen:
Dim strDate
Dim strDateFormatted
strDate = Date() 'eller den dato du nu skal bruge
strDateFormatted = Day(strDate) & "-" & Month(strDate) & "-" & Year(strDate)
Avatar billede Slettet bruger
25. februar 2004 - 19:33 #5
Du skal vende den om når du sætter den ind og så vende den tilbage igen når du skal vise den i asp.
Avatar billede zetn Nybegynder
25. februar 2004 - 19:42 #6
hvordan vender jeg den om så?
Avatar billede Slettet bruger
25. februar 2004 - 19:53 #7
Se lklingenbergs løsning og vend dem rundt sådan
strDateFormatted = Year(strDate) & "-" & Month(strDate) & "-" & Day(strDate)
Avatar billede lklingenberg Nybegynder
25. februar 2004 - 20:10 #8
-> bertie (19:33:46):
Ja, naturligvis (doh)!  ;-)
Avatar billede zetn Nybegynder
25. februar 2004 - 22:08 #9
Grunden til det er at jeg ikke kan finde eller lave en kode der kan finde ud af at tage alle de data der kommer i løbet af den næste uge, nogen ideer, det er til kalender modul.
Avatar billede lklingenberg Nybegynder
25. februar 2004 - 23:40 #10
øh, data der kommer hvorfra og skal bruges til hvad?
Avatar billede zetn Nybegynder
26. februar 2004 - 07:02 #11
kommer fra min database.. det er mine kalender mener der har en "tildato" jeg skal så requeste alle der har en "tildato" der er indenfor den næste uge.
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 12:48 #12
Bare så jeg forstår det rigtigt: i din db har du en kolonne der hedder tildato (som formentlig er required?). Du ønsker så at trække alle poster ud af din db hvor tildato falder i tidsrummet dags dato til dags dato +7 dage. Korrekt?

Hvis ja så kan flg. anvendes:

If Date() <= objRS("tildato").Value =< DateAdd("d", 7, Date()) Then Response.Write (objRS("tildato").Value)

Hvis du skal have hjælp til at formattere datoen korrekt (jf. dit indgangsspm), så sig til.

...eller hvad du nu skal have skrevet ud. Det er formentlig også en del af en løkke kunne jeg forestille mig.
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 12:51 #13
hov, de to sidste linjer skulle have været byttet om ;-)
Avatar billede zetn Nybegynder
26. februar 2004 - 14:59 #14
Skal datoen så være 0000-00-00?

Den melder fejl (den skriver ikke lige hvad det er, bare "Der opstod en fejl")

min kode ser sådan her ud:

strSql = "Select * from tabel"
Set objRS = conn.Execute(strSql)

do while not objRS

If Date() <= objRS("tildato").Value =< DateAdd("d", 7, Date()) Then
Response.Write (objRS("tildato").Value)
end if

objRS.MoveNext
loop
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 19:16 #15
Hm, jeg ville nok vælge at sætte betingelsen ind SQL udtrykket. På den måde henter du kun de records ud der matcher din betingelse - det sparer båndbredde og dermed tid.
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 19:19 #16
strSql = "SELECT * FROM tabel " & _
"WHERE tildato >= " & Date() & " AND tildato <= " & DateAdd("d", 7, Date())
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 19:20 #17
Og så er der det med formatteringen - hvordan står datoformatet i databasen: yyyy-mm-dd tt:mm:ss eller dd-mm-yyyy tt:mm:ss eller noget helt tredje?
Avatar billede zetn Nybegynder
26. februar 2004 - 19:21 #18
det står som dd-mm-yyyy
Avatar billede zetn Nybegynder
26. februar 2004 - 19:21 #19
ikke nogen tid
Avatar billede zetn Nybegynder
26. februar 2004 - 19:50 #20
Den siger der ingen er selvom der står en med tildato på 28-02-2004 i en DATE felt(mysql)
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 19:54 #21
Prøv at sætte sætningen
<% Session.LCID=1030 %>
ind øverst i dokumentet. Den sikrer dansk formattering (dd-mm-yyyy) på bl.a. datoer.
Prøvede du min SQL streng? Får du en objRS.EOF?
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 19:56 #22
Er 'off-line' i et par timer fra nu af, men vender tilbage senere...
Avatar billede zetn Nybegynder
26. februar 2004 - 20:00 #23
<% Session.LCID=1030 %> er sat ind i alle mine dokumenter.

Jeg har

if rs.eof then
response.write "Ingen emner"
else
udtræk...
end if
Avatar billede lklingenberg Nybegynder
26. februar 2004 - 23:46 #24
Og når du kalder rs skriver den "Ingen emner"?
Avatar billede zetn Nybegynder
28. februar 2004 - 12:34 #25
ja, når jeg prøver at få dem der er den næste uge frem siger den "Ingen Emner"
Avatar billede lklingenberg Nybegynder
29. februar 2004 - 02:18 #26
Prøv med

strSql = "SELECT * FROM tabel " & _
"WHERE tildato >= " & FormatDateTime(Date(), vbShortDate) & " AND tildato <= " & FormatDateTime(DateAdd("d", 7, Date()), vbShortDate)
Avatar billede zetn Nybegynder
29. februar 2004 - 10:08 #27
Eagleeye hjalp mig, han gav mig denne kode:

SQL = "select * from tabelnavn where DATE_ADD(CURDATE(), INTERVAL 7 DAY) >= datokolonne AND datokolonne >= CURDATE();"
Avatar billede lklingenberg Nybegynder
01. marts 2004 - 09:18 #28
Cool - det er selvfølgelig en noget mere elegant løsning. Godt du fandt en løsning.
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

IT-JOB