webForumDet fria alternativet

Problem med räkning av sökträffar

ASP

2 svar · 178 visningar · startad av Karlsson

Medlem sedan maj 2000252 inlägg
Frågan#1

Jag använder ett gammalt script från en annan sida och där funkar det utmärkt, nu kör jag sidan lokalt och allt går bra så länge jag bara får en träff, får jag fler så häger sig sidan!

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\fjallsaker\databas\fjallsaker.mdb" 
SQLStmt = "SELECT * FROM texter WHERE (rubrik LIKE '%" & Request.Form("sokruta") & "%' " &_
" OR ingress LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR texter LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR datum LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR forfattare LIKE '" & Request.Form("sokruta") & "') ORDER BY datum desc"
Set RS = Conn.Execute(SQLStmt)

SQL = "SELECT COUNT(*) FROM texter WHERE rubrik LIKE '%" & Request.Form("sokruta") & "%' " &_
" OR ingress LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR texter LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR datum LIKE '%" & Request.Form("sokruta") & "%'" &_
" OR forfattare LIKE '" & Request.Form("sokruta") & "'"
Set RS2 = Conn.execute(SQL)
If RS.EOF Then 
Response.Write("<P class='rak_12'>Tyvärr, inga matchande inlägg...</P>")
Else
if RS2(0) = 1 then
%>
<P>Du fick 1 träff,<BR>
följande post matchar din sökning:<P>
<%else%>

<P>Du fick <%=RS2("0")%>&#160;träffar,<BR>
följande poster matchar din sökning:
<P> 
  <%end if%>
<table width="470" border="0" cellspacing="0" cellpadding="2">
<%
Do While Not rs.EOF
cnt = cnt + 1
strColor = "#CCCCCC" 
If cnt Mod 2 = 0 then strColor = ""
Response.Write "<TR bgcolor='" & strColor & "'>"
datum = rs("datum")
kortdatum = Left(datum,10)
%>
    <td><%=kortdatum%></td>
    <td><a href="innehall.asp?id=<%=rs("id")%>"><%=rs("rubrik")%></a></td>
  </tr>

Allt som skrivs då är "Du fick", dvs. den skriver inte ut hur många utan levererar i stället följande glasklara felmeddelande:

ADODB.Recordset fel '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal. 

/fjallsaker/sokresultat.asp, rad 35

Rad 35 är den där rs2("0") skrivs ut

Tacksam för svar!

Medlem sedan juni 20022 599 inlägg
#2
<%=RS2("0")%>

Har du verkligen ett fält i DB:en som heter "0"? Misstänker att det borde vara RS2(0).

Lustigt att scriptet funkar på den andra sidan ..?

Medlem sedan maj 2000252 inlägg
#3

Oj oj oj oj, jag som tyckte jag bara klippt och klistrat...
Återigen syns skammens rodnad på mina kinder... även om det var ett tag sen
Tack i alla fall, och Gott Nytt År på er alla!

414 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
279 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
279 ms — ändringar (db)