jleeMedlem sedan dec. 2002378 inlägg Om jag vill kolla det som är i fetstil flera gånger i koden för olika årtal, måste jag då skriva om databas ansl + sett conn mm igen eller finns det ngt annat sätt?
<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("news.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
[B]response.Write "<b>2005</b>"
sql = "SELECT * FROM tabell1 where datum like '%2005%' order BY ID DESC"[/B]
Set Rs = Conn.Execute (sql)
Do While Not rs.EOF %>
</font><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><br>
<a href="sida1.asp?id=<%=rs("id")%>"><%=rs("p1")%></a>
<% Rs.MoveNext
Loop
Conn.Close
Set Conn = Nothing
%>
Peter SMedlem sedan dec. 20025 483 inlägg Nej, du behöver inte skriva om databaskopplingen (såvida du inte stänger den förstås).
Du kan ju lägga in en variabel i stället för att skriva in själva år talet i sql-satsen.
I variabeln lägger du in det årtal du vill kolla, sedan kör du den med conn.execute(SQL).
LarsGMedlem sedan dec. 200012 464 inlägg Använd inte like med kolumner av typen date, det är inte giltigt i standard SQL och fungerar enbart i vissa DBMS. Om det fungerar så blir frågan väldigt ineffektiv eftersom det inte går att utnyttja index. Ange ett slutet intervall i stället.
SELECT <kolumner>
FROM tabell1
where datum between '2005-01-01' and 2005-12-31'
order by id desc
Ännu en förmaning:
ange explicit vilka kolumner du vill hämta istället för *
jleeMedlem sedan dec. 2002378 inlägg ok, och om jag sen bara vill visa 2005 istället för 2005-10-25 tex i rs("datum") hur begränsar jag det?
devotionMedlem sedan jan. 20013 582 inlägg :)
Använder datePart
datePart("YYYY", rs("datum"))
http://www.devguru.com/technologies/vbscript/13916.asp
Mvh
Henrik