Avatar billede riishoj Nybegynder
18. september 2005 - 09:51 Der er 4 kommentarer og
1 løsning

Mystisk datoproblem

Mit script henter meddelelser i db'en ud fra en bestemt dato (startdato).
Når jeg sætter Dato1 = date(), så vises beskeder fra den 18-09-05.
Når jeg sætter Dato1 = date()-1, så vises beskeder fra den 17-09-05 osv. - osv.
Det går fint indtil jeg prøver Dato1 = date()-6, så vises ingenting, selvom der er beskeder i db'en fra den 12-09-05!
Det synes jeg er noget uforståeligt. Er der nogen som har en forklaring/løsning på problemet?

<%
Dato1 = date()
response.write dato
strSQL = "SELECT tekst,startdato,id FROM ugebrev WHERE meddeler='" & session("brugernavn") & "' AND startdato=#"& dato1 &"# "
response.write strSQL
Set rs = Conn.Execute(strSQL)
' Hvis der er fundet poster på søgningen

'asp herfra------------------------
'hvis session("brugerID") er tom så er man ikke logget ind.
if session("brugerID") = "" then
  Response.write"<tr><td width='100%'><p align=center><font face=Verdana color=#000000><b>Du er ikke logget ind!</b></font></td></tr>"
Else

 
Response.write"<tr><td width='100%'><p align=center><font face=Verdana color=#000000><b>Meddelelser fra "&session("brugernavn")&"</b></font><br></td>"
Response.write"<br>"   

    Response.Write "<table width=80% border=0 align=center cellpadding=5 cellspacing=0>"
    Response.Write "<tr bgcolor=#98C4B8><th><font color=black face=verdana size=2>Tekst</font></th><th><font color=black face=verdana size=2>Startdato</font></th><th><font color=black face=verdana size=2>Slet&nbsp;&nbsp;</font></th></tr>"
    intCount = 0
  Do while NOT (rs.EOF or rs.BOF)
  if (intCount MOD 2 = 0) then
    bgColor = "#cccccc" 'Første farve
   
  else
    bgColor = "#999999" 'Anden farve
 
  end if
  intCount = intCount + 1
       
        Response.Write "<tr>"
        Response.Write "<td width=25% align=left bgcolor='" & bgColor & "'><font color=black face=verdana size=2>" & rs("tekst") & "</td>"
        Response.Write "<td width=25% align=center bgcolor='" & bgColor & "'><font color=black face=verdana size=2>" & rs("startdato") & "</td>"
     
       
        Response.Write "<td width=25% align=center bgcolor='" & bgColor & "'><font color=black face=verdana size=2><a class=speciel3 href='slet_meddelelse.asp?Id="&rs("Id")&"'>slet</a></td>"
     


        rs.MoveNext
    Loop
   
    Response.Write "</table>"

  end if 
   
Conn.Close
Set Conn = Nothing
%>
Avatar billede mm12010 Nybegynder
18. september 2005 - 10:31 #1
lyder rigtig nok lidt mystisk - du kunne evt prøv at lave dato-bergningen i SQL:
minus="6"
strSQL = "SELECT tekst,startdato,id FROM ugebrev WHERE meddeler='" & session("brugernavn") & "' AND startdato=DATE()-"&minus
Avatar billede riishoj Nybegynder
18. september 2005 - 10:35 #2
startdato er et datofelt, så hvordan putter jeg ## på dit forslag?
Avatar billede mm12010 Nybegynder
18. september 2005 - 10:42 #3
Jeg har antaget at det er en MS Access db - hvis jeg har ret og 'startdato', som du siger, er et datofelt er det ikke nødvendigt.
Avatar billede riishoj Nybegynder
18. september 2005 - 11:07 #4
Ja, dit forslag virker fint! Herligt, men jeg synes stadig, at det er mystisk, at Date()-6 (og mindre) ikke virker. Men tak for hjælpen og send lige et svar.
Avatar billede mm12010 Nybegynder
18. september 2005 - 11:10 #5
svar :o)
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