Ciao a tutti,
immagino questo sia un problema trito e ritrito ma francamente, da quello che ho visto in rete, nulla mi aiuta a risolvere il mio problema.
Utilizzo DW CS3 e Access.
Ho creato un database con una tabella contenente i campi nome e cognome.
L'ho collegata su DW mediante ODBC.
Ho pertanto inserito una form in cui appare il valore pescato dal campo cognome e il pulsante per cancellare quel dato.
Il problema è che ho conferma che il db è popolato:
codice:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Dim rs_cancellami Dim rs_cancellami_cmd Dim rs_cancellami_numRows Set rs_cancellami_cmd = Server.CreateObject ("ADODB.Command") rs_cancellami_cmd.ActiveConnection = MM_canc_STRING rs_cancellami_cmd.CommandText = "SELECT * FROM nominativi" rs_cancellami_cmd.Prepared = true Set rs_cancellami = rs_cancellami_cmd.Execute rs_cancellami_numRows = 0 %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento senza titolo</title> </head> <body> <% If rs_cancellami.eof then 'nel caso non ci siano record da restituire response.write ("nessun record") else 'altrimenti response.write(rs_cancellami("cognome")) end if %> <form id="cancellami" name="cancellami"> <table width="593" border="1"> <tr> <td width="318"></td> <td width="259"><label> <input type="submit" name="button" id="button" value="Invia" /> </label></td> </tr> </table> </form> </body> </html> <% rs_cancellami.Close() Set rs_cancellami = Nothing %>
...e il risultato mi mostra il primo cognome presente.
Ma quando applico la funzione di cancellazione prsente in DW mi viene restituito il "famoso" errore:
ADODB.Field (0x800A0BCD)
Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
/test.asp, line 90
Francamente nn so che pesci pigliare... il codice usato è questo:
codice:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Dim MM_editAction MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit Dim MM_abortEdit MM_abortEdit = false %> <% ' *** Delete Record: construct a sql delete statement and execute it If (CStr(Request("MM_delete")) = "cancellami" And CStr(Request("MM_recordId")) <> "") Then If (Not MM_abortEdit) Then ' execute the delete Set MM_editCmd = Server.CreateObject ("ADODB.Command") MM_editCmd.ActiveConnection = MM_canc_STRING MM_editCmd.CommandText = "DELETE FROM nominativi WHERE ID = ?" MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5, 1, -1, Request.Form("MM_recordId")) ' adDouble MM_editCmd.Execute MM_editCmd.ActiveConnection.Close ' append the query string to the redirect URL Dim MM_editRedirectUrl MM_editRedirectUrl = "ok.htm" If (Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If Response.Redirect(MM_editRedirectUrl) End If End If %> <% Dim rs_cancellami Dim rs_cancellami_cmd Dim rs_cancellami_numRows Set rs_cancellami_cmd = Server.CreateObject ("ADODB.Command") rs_cancellami_cmd.ActiveConnection = MM_canc_STRING rs_cancellami_cmd.CommandText = "SELECT * FROM nominativi" rs_cancellami_cmd.Prepared = true Set rs_cancellami = rs_cancellami_cmd.Execute rs_cancellami_numRows = 0 %> <% Dim Repeat1__numRows Dim Repeat1__index Repeat1__numRows = -1 Repeat1__index = 0 rs_cancellami_numRows = rs_cancellami_numRows + Repeat1__numRows %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento senza titolo</title> </head> <body> <form ACTION="<%=MM_editAction%>" METHOD="POST" id="cancellami" name="cancellami"> <table width="593" border="1"> <tr> <% While ((Repeat1__numRows <> 0) AND (NOT rs_cancellami.EOF)) %> <td width="318"><%=(rs_cancellami.Fields.Item("cognome").Value)%></td> <td width="259"><label> <input type="submit" name="button" id="button" value="Invia" /> </label></td> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 rs_cancellami.MoveNext() Wend %> </tr> </table> <input type="hidden" name="MM_delete" value="cancellami" /> <input type="hidden" name="MM_recordId" value="<%= rs_cancellami.Fields.Item("cognome").Value %>" /> </form> </body> </html> <% rs_cancellami.Close() Set rs_cancellami = Nothing %>
Chi mi aiuta?