webForumDet fria alternativet
Logga in / Bli medlem

The application requested an operation on an object with a reference to a closed..

ASP

7 svar · 286 visningar · startad av SPinckney

Medlem sedan juli 2002104 inlägg
Trådstart#1

Hejsan,

Detta errormeddelandet får jag på ett script där man lägger till Anställda. Det har alltså fungerat förut under en lång tid.

The application requested an operation on an object with a reference to a closed or invalid Connection object. 

Line 19

Ett litet utklipp ur sidan.asp


<%
'Feed the submitted data into the session

checkdate = request.form.item("App_DOB")
if checkdate = "" then checkdate = #01/01/1801#
if not isDate(checkdate) then response.redirect("InvalidDOB.asp")

for each MyItem in Request.Form 
	session(MyItem) = Request.Form.Item (MyItem)
next
Function PopulateData(Area)
	set dbengine = session("Database")
	dim i 
	dim rstLanguage 
	dim TotalLanguages
	set rstLanguage = CreateObject("adodb.recordset")

	[b]rstLanguage.Open "select * from skills where skilltype = '" & Area & "'", dbEngine[/b] 
	while not rstLanguage.EOF 
		if i/3 = i\3 then 
			if i<>0 then 

%>
Medlem sedan feb. 200112 078 inlägg
#2
rstLanguage.Open "select * from skills where skilltype = '" & Area & "'", dbEngine, 3, 3

Innehåller verkligen dbEngine korrekt värde?

Medlem sedan juli 2002104 inlägg
#3

Det gjorde tyvärr ingen skillnad

Sidan som skickar infot har följande kod


<%
if session("HRuser") = "" then response.redirect ("SignOn.asp?urlfor=default")
function clearSession()
session("DonePost") = ""
for each MyItem in session.Contents
	if left(MyItem,4) = "APP_" or left(MyItem,6) = "SKILL_" then 
		session(MyItem) = ""
	end if
next
end function

clearSession

%>

<% ' setup db connection
on error resume next
session("Connection").close
set Session("Connection") = Nothing
strConn = "Driver={Microsoft Access Driver (*.mdb)};DBq=" & dbpath 
set dbEngine = createobject("adodb.connection")
dbengine.Open strconn
set session("Connection") = dbEngine

%>

Sen kommer alla input typesen etc

Medlem sedan juli 2002104 inlägg
#4

Den verkar klaga på Area

rstLanguage.Open "select * from skills where skilltype = '" & [b]Area[/b] & "'", dbEngine, 3, 3
Medlem sedan feb. 200112 078 inlägg
#5

Vad innehåller area då? (Har svårt att tro att det skulle vara det, såvida den inte innehåller apostrofer..)

Medlem sedan dec. 19996 721 inlägg
#6

Man ska aldrig lägga connections i Session eller Application. Det sänker prestanda något oerhört. Börja med att ändra den biten, och kolla sedan om det funkar.

Medlem sedan juli 2002104 inlägg
#7

Men om jag nu vill ha det så tills vidare vad ska jag då sätta
dbengine till ?

Varför det lagras i en session är för att det är 5steg och datan matas in på sista sidan alltså på sida5

Medlem sedan feb. 200112 078 inlägg
#8

Varför det lagras i en session är för att det är 5steg och datan matas in på sista sidan alltså på sida5

Det är ingen anledning till att lagra ditt connectionobjekt i en session. Du behöver bara använda connection precis innan du öppnar databasen. Och om det nu skulle vara så att du behöver göra det på varje, av dina fem sidor, öppna ett separat på varje sida då istället; eller optimera din kod. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)