Jag har två DIV:ar på min sida där jag skulle vilja loopa två olika sql-satser, till vänster skulle jag vilja loopa topp-5 från en databas, och till höger resten.
Har provat med:
sSQL="SELECT TOP 5 * FROM texter WHERE content = '"& content &"' ORDER BY datum DESC"
sSQL2="SELECT FROM texter WHERE ID NOT IN (SELECT TOP 5 ID FROM texter ORDER BY datum DESC)
Om jag nu, mot förmodan skulle få sql-satsen att funka, går det då att skriva ut dom med två olika loopar, och isf hur i hela friden skulle det då se ut???
Att gora loopar i varandra har jag fatt lara mig att det ar inte bra!! Men det gar, men blir prestandakravande... fragan ar det om det inte gar att gora nagon sorts kombination i samma sql? jag vet ej
Mitt största bekymmer är egentligen att jag får en bild som också loopas i den högra div:en, det är bl.a. därför jag pysslar med detta.
Just nu verkar det iaf vara den andra sql-satsen den klagar på...
:-(
Att gora loopar i varandra har jag fatt lara mig att det ar inte bra!!
Sant crisse, men jag tror du missuppfattar hans fråga lite.
Du har egentligen inte något annat alternativ än att skapa två olika recordset och sedan använda de vanliga metoderna för visning på respektive datamängd.
sSQL="SELECT TOP 5 * FROM texter WHERE content = '"& content &"' ORDER BY datum DESC"
sSQL2="SELECT FROM texter WHERE ID NOT IN (SELECT TOP 5 ID FROM texter ORDER BY datum DESC)
set rs = conn.execute(sSQL)
set rs2 = conn.execute(sSQL2)
if not rs.eof then
do until rs.eof
response.write rs(0) & "<br>"
rs.movenext
loop
end if
if not rs2.eof then
do until rs2.eof
response.write rs2(0) & "<br>"
rs2.movenext
loop
end if
set rs = nothing
set rs2 = nothing
Det löser sig, sa han som sket i vasken...
Fast kanske ändå inte!
Hade glömt öppna ett ADODB.Recordset för rs2... stryk skulle jag ha minsann.
Men nu klagar sidan på själva SQL-satsen igen, har provat ett otal varianter, just nu:
sSQL2="SELECT FROM texter WHERE id NOT IN (SELECT TOP 3 id FROM texter ORDER BY datum DESC)"
Även:
sSQL2="SELECT FROM texter WHERE content = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM texter WHERE content = '"& content &"' ORDER BY datum DESC)"
men får följande felmess:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.
sSQL2="SELECT FROM [texter] WHERE id NOT IN (SELECT TOP 3 id FROM [texter] ORDER BY [datum] DESC)"
sSQL2="SELECT FROM [texter] WHERE [content] = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC)"
Är lite skeptisk till att det skulle vara det felet, men har iaf klamrat båda sql-satserna nu, postar lite kod få se om nåt av det kan bringa lite klarhet!
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\fjallsaker\databas\fjallsaker.mdb"
content=Request.Querystring("content")
sSQL="SELECT TOP 3 * FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC"
sSQL2="SELECT FROM [texter] WHERE [content] = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC)"
%>
<img src="bilder/gfx/<%=rs("bild")%>.gif">
<%
If content = "nyhet" then
'*********************************************************************
'Gör allt som står härifrån och ner om det är nyhet som efterfrågas...
'*********************************************************************
rs.Open sSQL, Conn
Do While Not rs.EOF
%>
<div id="left">
<p span style="margin-top: 0px"><b><%=rs("datum")%></b></span></p>
<p class="blue18"><%=rs("rubrik")%></p>
<p class="ingress"><%=rs("ingress")%></p>
<p><%=rs("texter")%></p>
<p><%=rs("forfattare")%></p>
<p><hr width="100%"></p>
</div>
<%
rs.MoveNext
Loop
rs.Close
%>
<div id="right">
<img src="bilder/gfx/rubrik_arkiv.gif" alt="rubrikbild arkiv" width="244" height="60" hspace="0" vspace="0">
<p><b><%=rs2("datum")%></b></p>
<p class="rubliten10fet"><%=rs2("rubrik")%></p>
<p><hr width="100%"></p>
</div>
<%
'*****************************************
'Här slutar if-satsen som gällde nyheterna
'*****************************************
Får följande meddelande:
ADODB.Recordset fel '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
Är du säker på att det felmeddelandet kommer från raderna med SQL-satserna på? Det kan komma från någon av dina anrop mot recordset:et längre ner, alltså när du skriver ut det.