webForumDet fria alternativet

sql like fråga

7 svar · 317 visningar · startad av jlee

jleeMedlem sedan dec. 2002378 inlägg
#1

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
#2

Nej, du behöver inte skriva om databaskopplingen (såvida du inte stänger den förstås).

joel_joel88Medlem sedan nov. 20021 222 inlägg
#3

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
#4

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
#5

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
#6

:)

Använder datePart

datePart("YYYY", rs("datum"))

http://www.devguru.com/technologies/vbscript/13916.asp

Mvh
Henrik

jleeMedlem sedan dec. 2002378 inlägg
#7

Jättebra, tack!

devotionMedlem sedan jan. 20013 582 inlägg
#8

vassego! :)

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