Sto provando ad aggiornare alcune pagine ASP dedicate alla gestione di un piccolo DB Access.
In pratica vorrei abbandonare il seguente metodo per la cancellazione dei record:
per passare a quello eseguito direttamente dalla query:codice:Set Conn=Server.CreateObject("ADODB.Connection") Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.mdb") Set Rs=Server.CreateObject("ADODB.RecordSet") Sql="Select * from Tabella" Rs.Open Sql, Conn, 2,2 if Rs.eof then session("messaggio") = "Non è presente nessun record" response.redirect "errore.asp" else session("messaggio") = "Record eliminato correttamente" response.redirect "conferma.asp" (manca il codice di chiusura della chiamata al DB)
codice:dim conn, rs set conn=Server.CreateObject("ADODB.Connection") conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.mdb") sql = "DELETE * FROM Tabella" set rs = conn.execute(sql) if rs.eof then session("messaggio") = "Non sono presenti record da eliminare" response.redirect "errore.asp" end if conn.close() set conn=nothing session("messaggio") = "Record eliminato correttamente" response.redirect "conferma.asp"
In questo modo però mi restituisce il seguente errore nella linea che richiama il controllo sulla presenza di record nella tabella (if rs.eof then):
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
Non riesco a capire :master:

Rispondi quotando
