webForumDet fria alternativet

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

7 svar · 284 visningar · startad av SPinckney

SPinckneyMedlem sedan juli 2002104 inlägg
#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 

%>
OveRRidEMedlem 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?

SPinckneyMedlem 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

SPinckneyMedlem sedan juli 2002104 inlägg
#4

Den verkar klaga på Area

rstLanguage.Open "select * from skills where skilltype = '" & [b]Area[/b] & "'", dbEngine, 3, 3
OveRRidEMedlem 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..)

emissionMedlem 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.

SPinckneyMedlem 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

OveRRidEMedlem 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. :)

130 ms totalt · 3 externa anrop · v20260731065814-full.c2d75422
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)