Fattar inte vad felet är!!!

ASP

9 svar · 268 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Trådstart#1

Jag förstår inte vad felet är på denna kod:

	<%

' ÖPPNAR DATABASEN

SQL = "SELECT * FROM LinkCounter ORDER BY ID DESC"

Set RecSet = Server.Createobject("ADODB.Recordset")
RecSet.open SQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("veckanslank/linkcounter.mdb")

%>
<font face="Verdana" size="1">

<a href="veckanslank/linkcounter.asp?action=in&id=<%=RecSet("id")%>" target="_blank"><%=RecSet("Namn")%></a>
<br>

<%=RecSet("Beskrivning")%>

<br><br>Vi väljer själva ut Veckans länk och vi väljer ut de sajter som vi tycker har snygg design och bra innehåll. <br><br>
		
Senaste "Veckans länk" var det <b><%

RecSet.Close
Set RecSet = nothing

Addera = "Select TOP 2 * From LinkCounter ORDER BY id desc"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<br>
<%
RecSet.MoveNext 
do until RecSet.EOF %>
<br> <% response.write RecSet("Klick")
RecSet.MoveNext
Loop

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%></b> som besökte.

Felmeddelande:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.
/Ampy/main.asp, line 658

Någon som kan se vad felet är?

Medlem sedan juni 20019 024 inlägg
#2

Du stänger RecSet och precis efter kör du objektet igen. Låt det vara öppet! Ta bort:

...Senaste "Veckans länk" var det <b><%

[b]RecSet.Close
Set RecSet = nothing[/b]

Addera = "Select TOP 2 * From LinkCounter ORDER BY id desc"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
...
Medlem sedan maj 200010 687 inlägg
#3

Ey Pace, det är bara Set RecSet = nothing han ska ta bort...

Medlem sedan feb. 20011 498 inlägg
#4

Det blir dettta felmeddelande nu:

Feltyp:
ADODB.Recordset (0x800A0E7D)
Åtgärden är inte tillåten på ett objekt som refererar till en stängd eller en ogiltig anslutning.
/Ampy/main.asp, line 658

Jag tog bort Set RecSet = nothing bara.

Medlem sedan maj 200010 687 inlägg
#5

Vad finns i variablen Connect?

Medlem sedan feb. 20011 498 inlägg
#6

Hur ser man det?

Medlem sedan maj 200010 687 inlägg
#7

Ett tips är att skriva:

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("veckanslank/linkcounter.mdb")

Microsoft Jet drivrutinen ska vara mycket snabbare än gamla Microsoft Access Driver.

När du sen öppnar databasen kan du skriva:

RecSet.open SQL, objConn

Sen ett annat tips är ju att lägga din databas så den inte ligger åtkomlig för allmänheten. Så som den ligger nu så kan ju vem som helst ladda ner den.

Medlem sedan maj 200010 687 inlägg
#8

Kolla vad du tilldelar Connect längre upp...

Medlem sedan feb. 20011 498 inlägg
#9

Jag har fixat det nu :)

Medlem sedan maj 200010 687 inlägg
#10

Bra!

Ser lite läskigt ut att du har över 600 rader kod. Borde kanske fundera på Com-objekt..? ;) :)

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)