Avatar billede cdc Novice
29. august 2006 - 15:56 Der er 2 kommentarer og
1 løsning

Item cannot be found in the collection

Jeg får følgende fejl i scriptet:

ADODB.Recordset error '800a0cc1'

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

/banner_roration/admin.asp, line 97



<%If Request.Querystring("mess") = "fel"  Then
  mess = "alert('Fel lösenord eller adminnamn!');return true;"
End If%>

<!--#Include file="inc/settings.asp"-->

<html>
<head>
<title></title>
<link rel="stylesheet" href="inc/stil.css" type="text/css">
<script language="JavaScript" type="text/JavaScript" src="inc/tecken.js"></script>
</head>

<body bgcolor="#ffffff" OnLoad="<%=Mess%>">

<%If Session("admin") = "" Then
If Request.QueryString("action") = "" Then%>

<table cellpadding="3" cellspacing="0" width="500" align="center">
        <form name="loggain" method="post" action="admin.asp?action=check">
        <tr>
          <td colspan="2" style="border-bottom: solid 1px #000000"><font size="2"><b>Logga in på adminsidan</b></font></td>
        </tr>
        <tr>
          <td><b>Adminnamn:</b></td>
          <td><input type="text" name="admin1" size="15">
        </tr>
        <tr>
            <td><b>Lösenord:</b></td>
            <td><input type="password" name="admin2" size="15">
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" value="Logga in"></td>
        </tr>
      </form>
</table>

<%Conn.Close:Set COnn=Nothing

ElseIf Request.QueryString("action") = "check" Then
  If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then
    Session("admin") = "ok"
    Session.TimeOut = 40
    Conn.Close:Set COnn=Nothing
    Response.Redirect "admin.asp" 
  Else
    Conn.Close:Set COnn=Nothing
    Response.Redirect "admin.asp?mess=fel"    
  End If
End If

ElseIf Session("admin") = "ok" Then%>
    <table width="500" align="center" align="center">
        <tr>
          <td height="14" colspan="2" style="border-bottom: solid 1px #000000"><font size="2"><b><a href="admin.asp">Adminstart</a> &nbsp; <a href="admin.asp?action=laggtill">Lägg till</a> &nbsp; <a href="admin.asp?action=logut">Logga ut</a></b></font></td>
        </tr>
    </table>
<table width="500" align="center">

<%If Request.Querystring("action") = "" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")

Const PS = 20
If Request.QueryString("sida") = "" then
    sida = 1
Else
    sida = Request.QueryString("sida")
End If

RecSet.CursorLocation = 3
RecSet.CacheSize = PS

SQL = "SELECT link,banner,id,visa From banner Order By id desc"
Recset.Open SQL, Conn

If RecSet.EOF Then%>
  <tr>
    <td colspan="4">Inga banners inlagda!</td>
  </tr>
<%Else%>
<form name="add" method="post" action="admin.asp?action=show">
<%RecSet.MoveFirst
RecSet.PageSize = PS

Sidor = RecSet.PageCount
RecSet.AbsolutePage = sida

X = 0
Do While Not RecSet.EOF And X < RecSet.PageSize
    Response.Write "<tr>"
For i=1 to 4
    Response.Write "<td align=""center"" width=""25%"">"
If RecSet.EOF then
    Response.Write "&nbsp;"
Else%>
    <a href="<%=RecSet("link")%>" target="_blank"><img src="<%=RecSet("banner")%>" border="<%=RecSet("border")%>" width="88" height="31"></a><br>
    <input type="radio" name="<%=RecSet("id")%>" value="ja" <%If RecSet("visa") = True Then Response.Write "checked"%> class="radio" title="Visa">  <a href="admin.asp?action=andra&id=<%=RecSet("id")%>"><img src="gfx/update.gif" border="0" alt="Ändra <%=RecSet("link")%>"></a> &nbsp; <a href="admin.asp?action=tabort&id=<%=RecSet("id")%>" onClick="return confirm('Vill du verkligen ta bort <%=RecSet("link")%>?');"><img src="gfx/trash.gif" border="0" alt="Ta bort <%=RecSet("link")%>"></a>  <input type="radio" name="<%=RecSet("id")%>" value="nej" <%If RecSet("visa") = False Then Response.Write "checked"%> class="radio" title="Visa ej">
<%X=X+1
Recset.MoveNext
End If
    Response.Write "</td>"
Next
    Response.Write "</tr>"
Loop

Recset.Close:Set Recset = Nothing%>
</table>

<table width="500" align="center" style="border-top: solid 1px #000000">
  <tr>
    <td valign="top"><input type="submit" value="Utför ändring"> |
          <%For Sid = 1 To Sidor
            If (Int(Sid)) = (Int(sida)) Then%><b><%=Sid%></b> <%Else%><a href="admin.asp?sida=<%=Sid%>"><b><%=Sid%></b></a> <%End If
          Next%>
    </td>
  </tr>
</form>
</table>

<%End If
Conn.Close:Set COnn=Nothing

ElseIf Request.QueryString("action") = "show" Then
  For Each id In Request.Form
      If Request.Form(id) = "ja" Then
          Conn.Execute("Update banner Set visa=True Where id="& FixaTecken(id))
      Else
          Conn.Execute("Update banner Set visa=False Where id="& FixaTecken(id))
      End If
  Next
  Conn.Execute("Update banner Set rotera=0")
  Conn.Close:Set COnn=Nothing
  Response.Redirect "admin.asp"

ElseIf Request.Querystring("action")= "andra" Then
Set RecSet = Conn.Execute("Select link,banner,border,visad,klick From banner Where id=" & FixaTecken(Request.QueryString("id")))%>

<table width="500" align="center">
<form name="andra" method="post" action="admin.asp?action=andrat&id=<%=Request.QueryString("id")%>" onSubmit="return BannerAndra()">
  <tr>
    <td valign="middle" colspan="3" style="border-bottom: solid 1px #000000"><b>Ändra bannern</b></td>
  </tr>
    <tr>
      <td colspan="3"><b>Länkens URL:</b><br><input type="text" name="link" size="60" value="<%=RecSet("Link")%>"></td>
    </tr>
    <tr>
      <td colspan="3"><b>Knappens URL:</b><br><input type="text" name="banner" size="60" value="<%=RecSet("banner")%>"></td>
    </tr>
    <tr>
      <td width="10%"><b>Ram:</b><br>
      <select  name="border">
          <option value="0" <%If RecSet("border")="0" Then Response.Write " Selected"%>>0
          <option value="1" <%If RecSet("border")="1" Then Response.Write " Selected"%>>1
      </select>
      </td>
      <td width="18%"><b>Visad:</b><br><input type="text" name="visad" size="10" value="<%=RecSet("visad")%>"></td>
      <td><b>Klick:</b><br><input type="text" name="klick" size="10" value="<%=RecSet("klick")%>"></td>
    </tr>
    <tr>
      <td colspan="3"><input type="submit" name="Submit" value="Utför ändringar"></td>
    </tr>
</form>
</table>

<%Recset.Close:Set Recset = Nothing
Conn.Close:Set COnn=Nothing

ElseIf Request.QueryString("action") ="andrat" Then
Border            = FixaTecken(Request.Form("border"))
Link                    = FixaTecken(Request.Form("link"))
Banner              = FixaTecken(Request.Form("banner"))
Visad                = FixaTecken(Request.Form("visad"))
Klick                = FixaTecken(Request.Form("klick"))

Conn.Execute("Update banner Set Border='" & Border & "',Link='" & Link &"',Banner='" & Banner &"',visad=" & Visad &",klick=" & Klick &" Where id=" & Request.QueryString("id"))
Conn.Close:Set COnn=Nothing
Response.Redirect "admin.asp"

ElseIf Request.QueryString("action")= "laggtill" Then%>

<table width="500" align="center" align="center">
  <form name="nytt" method="post" action="admin.asp?action=add" onSubmit="return BannerIn()">
  <tr>
    <td valign="middle" style="border-bottom: solid 1px #000000"><b>Lägg till ny banner</b></td>
  </tr>
    <tr>
      <td><b>Länkens URL:</b><br><input type="text" name="link" size="60"></td>
    </tr>
    <tr>
      <td><b>Knappens URL:</b><br><input type="text" name="banner" size="60"></td>
    </tr>
    <tr>
      <td><b>Ram:</b><br>
      <select  name="border">
          <option value="0">0
          <option value="1">1
      </select>
      </td>
    </tr>
    <tr>
      <td><input type="submit" name="Submit" value="Lägg till banner"></td>
    </tr>
  </form>
</table>

<%Conn.Close:Set COnn=Nothing

ElseIf Request.QueryString("action")= "add" Then

Link        = FixaTecken(Request.Form("link"))
If Link <> "" Then
  If Left(Link,7) = "http://" Then
Link = Link
  Else
    Link = "http://" & Link
  End If
End If
Banner        = FixaTecken(Request.Form("Banner"))
Border                    = FixaTecken(Request.Form("border"))

Conn.Execute("Insert Into banner(Link, Banner, Border) Values('"& Link &"','"& Banner &"','"& Border &"')")
Conn.Execute("Update banner Set rotera=0")
Conn.Close:Set COnn=Nothing
Response.Redirect "admin.asp"

ElseIf Request.Querystring("action") = "tabort" Then
  Conn.Execute("Delete * From banner Where ID=" & FixaTecken(Request.Querystring("id")))
  Conn.Close:Set COnn=Nothing
  Response.Redirect "admin.asp"

ElseIf Request.Querystring("action") = "logut" Then
  Session.Abandon
  Conn.Close:Set COnn=Nothing
  Response.Redirect Logut
End If

End If%>

</body>
</html>

/cdc
Avatar billede fennec Nybegynder
29. august 2006 - 16:07 #1
Det er denne linje:
SQL = "SELECT link,banner,id,visa From banner Order By id desc"

Og denne linje som skaber problemet:
    <a href="<%=RecSet("link")%>" target="_blank"><img src="<%=RecSet("banner")%>" border="<%=RecSet("border")%>" width="88" height="31"></a><br>

Du prøver at udskrive RecSet("border"), men den kolonne er ikke med på selecten.
Avatar billede fennec Nybegynder
29. august 2006 - 16:08 #2
Din sql skal nok være:
SQL = "SELECT link,banner,id,visa,border From banner Order By id desc"
Avatar billede cdc Novice
29. august 2006 - 16:18 #3
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester