109 messaggi dal 19 febbraio 2001
ottend questo errore :

ADODB.Recordset error '800a0e78'

Operation is not allowed when the object is closed.

/aggiungi.asp, line 107

le righe su cui ho l'errore sono queste :

rs01.close
set rs01 = Nothing
rs02.close
set rs02 = Nothing
se le commneto funziona alla perfezione

la pagina è questa :

<%
usr = session("usr")

if usr="" then Response.redirect("index.asp")

Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../mdb-database/Db.mdb")

codD = Request.form("codD")
nome = request.form("nome")
descrizione = request.form("descrizione")
descrizione=replace(descrizione,"'","''")
cd = request.form("CD")
voto = Request.Form("voto")
nome=replace(nome,"'","''")


if voto = "" then voto = 0 end if
if descrizione = null then descrizione = "" end if
if nome = "" OR cd = "" then Response.redirect "new_entry.asp?e=3" end if

mailsql = "SELECT mail FROM Utente WHERE usr = '" & usr & "'"
set rs = Conn.Execute(mailsql)
dim mail
if NOT rs.EOF then
rs.movefirst
mail = rs("mail")
end if
rs.close
set rs = Nothing

selsql = "SELECT * FROM dbb WHERE NOME = '" & nome & "'"
set rs04=Conn.Execute(selsql)

if Not Rs04.EOF then
Response.redirect "new_entry.asp?e=2" 'ho trovato un DIVX con lo stesso nome
else
intodsql = "INSERT INTO dbb VALUES (" & codD & ", '" & nome & "', '" & descrizione & "', " & CD & ");"
set rs01=Conn.Execute(intodsql)

intopsql = "INSERT INTO Possesso VALUES ('" & usr & "', " & codD & ", " & voto & ");"
set rs02=Conn.Execute(intopsql)

' Scrivo la mail a tutti gli altri utenti DivxShare
utentisql = "SELECT mail FROM UTENTE WHERE usr <> 'guest' AND usr <> '" & usr & "' AND notify = true"
set rs03 = Conn.Execute(utentisql)

' destinatari
Dim destinatari
rs03.movefirst
if NOT rs03.EOF then
destinatari = rs03("mail")
end if
while NOT rs03.EOF
destinatari = destinatari & ", " & rs03("mail")
rs03.movenext
wend

sDest = " """ & ""&destinatari&"" & """ "
sNick = "Share"
sMittente = "dbb@nomail.it"

Dim objMail
Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From = sNick & "<" & sMittente & ">"
objMail.To = sDest
objMail.Subject = "Nuovi Share"
objMail.BodyFormat = 0
objMail.MailFormat = 0
objMail.Body = "<h1><b>-> NUOVO <-</b></h1><br><a href='http://www.'><b>Divx Share</b></a><br>Titolo: <b>" & nome & "</b><br>Descrizione: <b>" & descrizione & "</b><br>CD: <b>" & cd & "</b><br><br>Aggiunto da: <a href= mailto:"& mail &"><b>" & usr & "</b></a><p>Non rispondere a questa mail tramite il tasto rispondi"
objMail.Send

end if
%>

</body>
</html>

<%
rs04.close
set rs04 = Nothing
rs03.close
set rs03 = Nothing
Conn.close
set Conn = Nothing
Set objMail = Nothing
rs01.close
set rs01 = Nothing
rs02.close
set rs02 = Nothing

Response.Redirect("gest_divx.asp")
428 messaggi dal 06 settembre 2002
i recordset che hai popolato con il metodo "execute" non vengono chiusi, ma solo resettati a nothing. insoma, non supportano il metodo "close". insomma, da nessuna parte c'è scritto "rs.open"

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
109 messaggi dal 19 febbraio 2001
arcoseno ha scritto:
i recordset che hai popolato con il metodo "execute" non vengono chiusi, ma solo resettati a nothing. insoma, non supportano il metodo "close". insomma, da nessuna parte c'è scritto "rs.open"


ok, ma allora perche mi da errore solo su rs01 e rs02 ... mentre 03 e 04 non mi dice niente ?!?!
428 messaggi dal 06 settembre 2002
probabilmente dipende dai blocchi IF

if codizione then
set rs=.....
else
fai altro
end if
...
...
rs.close
set rs=noting



se non si verifica la condizione, quindi salti il "set rs=.." il metodo .close che sta fuori dal blocco su cosa lo esegui?

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
65 messaggi dal 08 aprile 2003
Succede anche a me e anche se non ho letto bene tutto il tuo codice ma dandogli un occhiata penso che sia perche su 01 e 02 usi un comando SQL mentre il 03 usi un comando di ADO tipo MoveNext. (con i comandi SQL forse l'Rs viene aperto e richuso da solo (booo!!!). Di questo ancora non sono sicuro)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.