Salve ragazzi buona sera.
Devo fare un'inserimento multiplo di record in un db. I dati nel form di inserimento mi arrivano filtrati.
La cosa strana è questa. Sei in fase di inserimento ho tre record da inserire non mi da nessun errore.
Se invece i nrecord sono meno di tre mi restituisce il seguente errore:
Request object error 'ASP 0105 : 80004005'
Index out of range
/demoweb/InsertFile.asp, line 10
An array index is out of range.
La riga 10 è questa:
arrayNomeFile(i) = Request.Form("nomeFile")(i)
Controllando il db però mi sono reso conto che anche se mi da errore i dati li inserisce correttamente.
Vi posto la pagina da dove arrivano i dati filtrati:
E questa è la pagina per l'inserimento:codice:<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% Dim rsFile__MMColParam rsFile__MMColParam = "1" If (Request.Form("id_upload") <> "") Then rsFile__MMColParam = Request.Form("id_upload") End If %> <% Dim rsFile Dim rsFile_numRows Set rsFile = Server.CreateObject("ADODB.Recordset") rsFile.ActiveConnection = MM_diCastroAr_STRING rsFile.Source = "SELECT * FROM uploadFile WHERE id_upload = " + Replace(rsFile__MMColParam, "'", "''") + "" rsFile.CursorType = 0 rsFile.CursorLocation = 2 rsFile.LockType = 1 rsFile.Open() rsFile_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=iso-8859-1" /> <title>Documento senza titolo</title> <style type="text/css"> <!-- body { background-color: #000000; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style> <link href="css/diCastro.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="titoloSecondarioCentrato">Gestione File </td> </tr> <tr> <td>[img]immagini/null.gif[/img]</td> </tr> <tr> <td class="testoContenutiSx">Nome del File: <%=(rsFile.Fields.Item("file_1").Value)%> </td> </tr> <tr> <td class="testoContenutiSx">[img]immagini/null.gif[/img]</td> </tr> <tr> <td class="testoContenutiSx">Descrizione file: <%=(rsFile.Fields.Item("descrizione_1").Value)%></td> </tr> <tr> <td class="testoContenutiSx">[img]immagini/null.gif[/img]</td> </tr> <tr> <td class="titoloSecondarioCentrato">Assegnare il file ai seguenti utenti: </td> </tr> <tr> <td class="testoContenutiSx">[img]immagini/null.gif[/img]</td> </tr> <tr> <td class="testoContenutiSx"><form action="InsertFile.asp" method="post" name="form" id="form"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="400"> <% 'Connessione al database set con = server.createobject("ADODB.Connection") con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("database/dicastroAR.mdb") 'Controllo quali prodotti visualizzare set rs = Server.CreateObject("ADODB.Recordset") rs.activeconnection = con rs.cursortype = adOpenDynamic rs.locktype = adLockOptimistic strsql = "select * from login order by nomeCognome asc" rs.open strsql 'Elenco i prodotti e li visualizzo while not rs.eof record = request("record_" & rs("id_login")) 'Visualizzo i prodotti selezionati if len(record) <> 0 then strsql = "select * from login where id_login = " & record set rs2 = con.execute(strsql) 'Visualizzo il prodotto if not rs2.eof then idLogin = rs2("id_login") nomeCognome = rs2("nomeCognome") username = rs2("username") password = rs2("password") %> [*]Nome utente: <%=nomeCognome%> <input name="id_login" type="text" id="id_login" value="<%=idLogin%>" /> [*]Username: <%=username%> <input name="nomeFile" type="text" id="nomeFile" value="<%=(rsFile.Fields.Item("file_1").Value)%>" /> [*]Password: <%=password%> <input name="descrizione" type="hidden" id="descrizione" value="<%=(rsFile.Fields.Item("descrizione_1").Value)%>" /> <hr> <% end if rs2.close set rs2 = nothing end if 'Fine visualizzazione rs.movenext wend 'Fine rs.close set rs = nothing con.close set con = nothing 'Fine %> </td> </tr> <tr> <td align="center"><label> <input name="Submit" type="submit" class="testoCampiModuliSingoli" value="Conferma inserimento" /> </label></td> </tr> </table> </form> </td> </tr> </table></td> </tr> </table> </body> </html> <% rsFile.Close() Set rsFile = Nothing %>
Da cosa può dipendere?codice:<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% For i = 1 To Request.Form.count - 1 ReDim Preserve arrayNomeFile(i) ReDim Preserve arrayIDLogin(i) arrayNomeFile(i) = Request.Form("nomeFile")(i) arrayIdLogin(i) = Request.Form("id_login")(i) Set Connn = Server.createobject("ADODB.Connection") Connn.connectionstring="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.Mappath("database/dicastroAR.mdb") Connn.Open strSQL = "INSERT INTO uploadFile (file_1,id_login) VALUES ('"&arrayNomeFile(i)&"',"&arrayIdLogin(i)&")" response.Write strSQL Connn.Execute(strSQL) Next response.write("Operazione effettuata con successo") %> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> </body> </html>
Grazie a tutti in anticipo.

Rispondi quotando