Newsgroup: it.comp.www.asp
Titolo: errore con il recordset...

Ciao, ecco l'errore:
ADODB.Recordset error '800a0e78' 
The operation requested by the application is not allowed if the object
is closed. 
/pgs/publish2/mainmenu.asp, line 82 
ed ecco il codice:
	SQLQuery="menu_get_structure " & strUserid 
	Set rsMenu=Conn.Execute(SQLQuery)
 
	do while not rsMenu.EOF <--- Linia 82
Cosa sta succedendo? ideee?
Esiste una lista di tutti gli errori generabili da ASP?
grazie
Luca

 do while not rsMenu.EOF <--- Linia 82
Uh... non fidarti mai di quello che ti dice la MS. La linea specificata,
raramente corrisponde alla posizione dell'errore (dipende anche dall'editor
che stai utilizzando, però).
Prova, semmai, a tradurre il msg d'errore.
Ti viende detto che non puoi eseguire una determinata operazione de
l'oggetto al quale fai riferimento è chiuso.
Evidentemente, ha scritto rsMenu.Close troppo presto.
Vallo a cercare e guarda cosa c'è dopo. Se c'è qualche comando che fa
riferimento all'oggetto ormai chiuso, hai trovato l'errore.

 riferimento all'oggetto ormai chiuso, hai trovato l'errore.
la stringa close non compare nel file
Luca

Sicuramene hai messo da qualche parte un rsMenu.close prima di quella riga o
addirittura non lo hai mai aperto.
Prova a controllare bene...
Ciao
Fausto Silvestrini

 Prova a controllare bene...
Purtroppo non e' cosi': guarda ti attacco tutto il file:
ASP mi da' l'errore alla linea 56 (vedi commento, e' la prima dove 
provo ad accedere al recordset). Non badare all'Applet. Non e' il
problema.
<HTML>
<HEAD>
<TITLE>Luca</TITLE>
</HEAD>
<BODY bgcolor="#3399ff" TOPMARGIN="0" LEFTMARGIN="0">
<!-- #include file="global/lib/connect.asp" -->
<%
	Dim SQLQuery
	Dim rsMenu
	Dim strUserid
 
	Dim strSeq_index
	Dim strPar_index
	Dim strTempl_id 
	Dim strURL
	Dim publishscript
	'strUserid=Session("Userid")
	strUserid=4
	Publishscript = "publish_doc.asp"
	SQLQuery="menu_get_structure " & strUserid 
	Set rsMenu=Conn.Execute(SQLQuery)
%>
<APPLET CODE="genericMenu.class" CODEBASE= "/marketing/publish/" WIDTH=
"160" HEIGHT= 350 VIEWASTEXT>
<PARAM name="appletWidth"            value = "160">
<PARAM name="appletHeight"           value = "450">
<PARAM name="interactionType"        value = "1">
<PARAM name="itemSpacing"            value = "0">
<PARAM name="offsetY"                value = "0">
<PARAM name="offsetX"                value = "6">
<PARAM name="backGroundColor"        value = "51|153|255">
<PARAM name="menuTemplate0" value =
"1|51|153|255|0|0|102|51|153|255|0|0|51|155|234|55|10|90|188|button1.gif|null|null|null|rotis1.gif">
<PARAM name="menuTemplate1" value =
"2|51|102|204|255|255|255|51|102|204|51|153|255|155|234|55|10|90|188|button2.gif|button2.gif|null|null|rotis2.gif">
<PARAM name="menuTemplate2" value =
"3|51|102|204|255|255|255|51|102|204|51|153|255|155|234|55|10|90|188|button3.gif|button3.gif|null|null|rotis3.gif">
<PARAM name="menuTemplate3" value =
"4|51|153|255|0|0|102|51|153|255|0|0|51|155|234|55|10|90|188|spacer.gif|spacer.gif|null|null|null">
<%
	do while not rsMenu.EOF  'linea 56
 
	strSeq_index = rsMenu("seq_index")
	strPar_index = rsMenu("par_index")
	strTempl_id = rsMenu("templ_id")
 
	If rsMenu("cont_type") = 1 Then
		strURL = rsMenu("ch_script") & "?chid=" & rsMenu("cont_id")
	Elseif rsMenu("cont_type") = 2 Then
		strURL = Publishscript & "?documentid=" & rsMenu("cont_id")
	Elseif rsMenu("cont_type") = 4 Then
		strURL = rsMenu("url")
	End if
%>
<PARAM name="menuItem<%=strSeq_index%>"  value =
"<%=strSeq_index%>|<%=strPar_index%>|<%=strTempl_id%>|<%=rsMenu("label")%>|6|12|<%=strURL%>|right|false|true|140|24|5|5">
<%
	rsMenu.movenext
	Loop
%>
</APPLET>
</BODY>
</HTML>

 do while not rsMenu.EOF  'linea 56
Dovresti fare un: <%If not rsMenu.EOF then%> prima di questa riga 56 in modo
che se la tua query e nulla, non vada in errore il while not.... Spero di
essermi spiegato!
Ciao
Fausto Silvestrini

 > Publishscript = "publish_doc.asp"
e' solo una variabile che non viene usata


Non potrebbe essere che hai inserito nel DB dei dati che corrispondono alla
query che andava in errore??
Ciao
Fausto Silvestrini

no. Grazie dell'interesse comunque.
luca
