webForumDet fria alternativet

SQL-sats

7 svar · 251 visningar · startad av Riffles

RifflesMedlem sedan juni 2000974 inlägg
#1

När jag kör denna kod så kan jag ej se texten "Match idag!". Det fungerar om datumet är = 1 eller > 1, men inte 0. Vad är det för fel?
Vad ska jag skriva i min SQL-sats?

<% SQL = "SELECT TOP 1 * FROM 2003 WHERE datum > NOW"
Set RS = Conn.Execute(SQL)
%>
<% Do While not RS.eof %>
<%
dim Datum
dim t
t = RS("datum")
Datum = datediff("d", date, t)

if datum = 1 then
response.Write RS("lag1") & "-" & RS("lag2") & "<br>" & Datum & " dag kvar<br><br>"
elseif datum > 1 then
response.Write RS("lag1") & "-" & RS("lag2") & "<br>" & Datum & " dagar kvar<br><br>"
elseif datum = 0 then %>
<%= RS("lag1") %>-<%= RS("lag2")%><br>Match idag!

<% end if %>
Engine^Medlem sedan dec. 20003 887 inlägg
#2
<%
SQL = "SELECT TOP 1 * FROM 2003 WHERE datum >= NOW"
Set RS = Conn.Execute(SQL)

If Not RS.EOF Then
  Dagar = DateDiff("d", Date, RS("datum"))

  If Dagar = 0 Then
    Response.Write RS("lag1") & " - " & RS("lag2") & "<br>Match idag!"
  ElseIf Dagar = 1 Then
    Response.Write RS("lag1") & " - " & RS("lag2") & "<br>1 dag kvar<br><br>"
  Else
    Response.Write RS("lag1") & " - " & RS("lag2") & "<br>" & Dagar & " dagar kvar<br><br>"
  End If
End If
%>
RifflesMedlem sedan juni 2000974 inlägg
#3

Tyvärr så ser jag inte info när det är matchdag.
Ingen text kommer fram utan den hoppar till nästa match istället och visar infon.

SebbeMedlem sedan jan. 20032 285 inlägg
#4
<%
SQL = "SELECT TOP 1 * FROM 2003 WHERE datum >= Now ORDER BY datum"
Set RS = Conn.Execute(SQL)

If Not RS.EOF Then
  If FormatDateTime(RS("datum"), vbShortDate) = Date() Then
    Response.Write RS("lag1") & " - " & RS("lag2") & "<br>Match idag!"
  Else
    Dagar = DateDiff("d", Date(), RS("datum"))

    If Dagar = 1 Then
      Response.Write RS("lag1") & " - " & RS("lag2") & "<br>1 dag kvar<br><br>"
    Else
      Response.Write RS("lag1") & " - " & RS("lag2") & "<br>" & Dagar & " dagar kvar<br><br>"
    End If
  End If
End If
%>
RifflesMedlem sedan juni 2000974 inlägg
#5

Nej, tyvärr, problemet kvarstår.
Datumet i databasen (Access) står så här: 2003-07-02 (Datum/Tid) om det kan vara till nån hjälp.

SebbeMedlem sedan jan. 20032 285 inlägg
#6

Har ingen aning om det här spelar någon roll, men testa att byta SQL-frågan till:

SQL = "SELECT TOP 1 * FROM 2003 WHERE datum >= Date ORDER BY datum"
RifflesMedlem sedan juni 2000974 inlägg
#7

Nu ser SQL-satsen ut såhär:
SQL = "SELECT TOP 1 * FROM 2003 WHERE datum >= Date() ORDER BY datum"
Nu skriver den ut 0 dagar kvar.

RifflesMedlem sedan juni 2000974 inlägg
#8

Nu fungerar det! Jag bytte tillbaka till min IF-sats och behöll den nuvarande SQL-satsen och då fungerade det!;) Tack alla för hjälpen!

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)