webForumDet fria alternativet
Logga in / Bli medlem

Sortera

ASP

10 svar · 481 visningar · startad av eko

Medlem sedan juni 2002198 inlägg
Trådstart#1

Har sökt i forumet men hittar ingen hjälp.
Hur ska jag göra för att få det datumet som är närmast dagens datum som det som ska skrivas ut?
Som exempel säg att det är 5 maj idag. Och det finns ett datum som är 7 maj i databasen så är det 7 maj datumet som ska skrivas ut.
Alltså det som är närmast dagens datum. Om det inte finns några datum efter "dagens" datum så ska texten "No shows the moment." skrivas ut istället.

Krångligt? Förstår ni hur jag menar? :r

<%
Session.LCID = 1033
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/mc.mdb")

Set objRS = Conn.Execute ("select top 1 city, datum, country, venue from tour order by datum")
If not objRS.EOF then
	Response.write " | " & objRS("country") & " | " & objRS("city") & " | " & objRS("venue") & " | " & FormatDateTime(objRS("datum"),1) & " | "
End if

objRS.Close
Set objRS = Nothing
Conn.Close
set Conn = Nothing
%>
Medlem sedan dec. 19996 721 inlägg
#2
select top 1 city, datum, country, venue from tour WHERE datum>now() order by datum
Medlem sedan juni 2002198 inlägg
#3

emission skrev:

select top 1 city, datum, country, venue from tour order by  WHERE datum>now() order by datum

Får då detta mess:

Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'WHERE datum>now()'.
/mc/www/TMP8ynrjnqlc1.asp, line 6

Medlem sedan dec. 19996 721 inlägg
#4

Jag skrev fel. Ta bort den första "order by"

Medlem sedan juni 2002198 inlägg
#5

emission skrev:

Jag skrev fel. Ta bort den första "order by"

Nu funkar det fint. Tack. Du vet möjligen inte hur man löser min andra fråga?
Om det inte finns några datum efter "dagens" datum så ska texten "No shows the moment." skrivas ut istället.

Medlem sedan juni 200032 967 inlägg
#6

Du har ju redan en if-sats som kontrollerar om recordsetet är tomt:

If not objRS.EOF then
	Response.write " | " & objRS("country") & " | " & objRS("city") & " | " & objRS("venue") & " | " & FormatDateTime(objRS("datum"),1) & " | "
[b]Else
	Response.write "No shows the moment"[/b]
End if

Jag förstår inte riktigt vad "No shows the moment" ska betyda, men det spelar ingen roll.

mvh

Medlem sedan juni 2002198 inlägg
#7

Thanx @nders :birp

Medlem sedan juni 2002198 inlägg
#8

Ouups får nog låsa upp denna tråd igen då jag märkte att koden inte funkade riktigt 100%.
Exempel att det är 5 maj idag och det finns information inlaggd om 5 maj så ska den skrivas ut.
Nu skriver den bara ut frammåt i tiden. Dvs går direkt till datumet efter dagens och det blir lite fel.
Förstår ni problemet?

"select top 1 city, datum, country, venue from tour WHERE datum>now() order by datum"
Medlem sedan maj 200351 inlägg
#9

Kanske:

"select top 1 city, datum, country, venue from tour WHERE datum>=now() order by datum"
Medlem sedan juni 2002198 inlägg
#10

Funkade tyvär inte. Gav samma resultat som koden jag redan har!

Observer skrev:

Kanske:

"select top 1 city, datum, country, venue from tour WHERE datum>=now() order by datum"
Medlem sedan dec. 200012 464 inlägg
#11
select top 1 city, datum, country, venue 
from tour 
WHERE datum>=date() 
order by datum
265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)