- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- errore assurdo cancellazione record: 80020009
-
errore assurdo cancellazione record: 80020009
buongiorno a tutti,
sto sbattendo la testa su un errore che il sistema mi restituisce durante una semplicissima cancellazione di un record.La cosa assurda è che lo stesso script funziona correttamente su un'altra pagina, ma su questa mi dà errore....
vi posto il codice attraverso cui eseguo la cancellazione del record:
Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/almoDB.mdb") Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "select * from misura", conn Dim id id = Request.QueryString("id") If id <> "" Then conn.Execute("DELETE * FROM misura WHERE id = " & id) End If ```e questa è la bella tabella con l'elenco dei record e link per la cancellazione che eseguo direttamente sulla stessa pagina:
<%Do while NOT RS.EOF%>
<table width="100%" border="0" cellpadding="3" cellspacing="0" class="tbody">
<tr>
<td width="72%"><%=rs("descrizione")%></td>
<td width="28%"><div align="center"><a href="canc_misura.asp?id=<%=rs("id")%>" class="txt_campi">cancella</a></div></td>
</tr>
<%
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
conn.Close
Set conn=Nothing
%>
</table>Microsoft OLE DB Provider for ODBC Drivers error '80020009'
Un handle di riga fa riferimento a una riga eliminata o a una riga contrassegnata per l'eliminazione.
/admin/canc_misura.asp, line 0ringrazio in anticipo per la gentile attenzione! :x
-
Prova a spostare la select dopo la delete ... Mai capitata una cosa del genere ...
-
Credo dovresti spostare delle parti di codice così:
Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/almoDB.mdb") Dim id id = Request.QueryString("id") If id <> "" Then conn.Execute("DELETE * FROM misura WHERE id = " & id) End If Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "select * from misura", conn
Il motivo del tuo errore potrebbe essere che cerchi di cancellare un record dopo averlo messo in recordset. Invece devi prima cancellare e poi creare il recordset.
Al 99% dovrebbe essere così