Ciao a tutti.

Questo codice ASP, tramite l'upload di baol, crea una cartella e gli deposita al suo interno un file inviato in allegato , ma non registra correttamente nel campo della tabella il percorso cartella/file.

---Succede solamente quando il valore di arr_file(0) è nullo---

Cioè nei campi A, B e C registra solo cartella di destinazione ma non il nome del file, cosa sbaglio?

Non so a priori quanti e quali files saranno inviati in upload, al massimo sono 3 ma possono essere zero, uno, due o tre.

codice:
   Function IsSet(Value)
       IsSet = Not IsNull(Value) And Value <> ""
   End Function

   Sub Write(Value)
      Response.Write Value
   End Sub

   Set oUpload = new cUpload
   
   With oUpload
   oUpload.Load
   
   If oUpload.Form("A") > "0" OR _
      oUpload.Form("B") > "0" OR _ 
      oUpload.Form("C") > "0" then
      
   strFolder = "/PUBLIC/Archivio/" & oUpload.Form("codice") & ""
   
   If IsSet(strFolder) Then

   oUpload.SetPath strFolder 
   oUpload.AutoRename = true
   oUpload.Overwrite = false
   
   i = 0   
   Dim arr_file(3)
   
   oUpload.MoveFirst
   While Not .Eof  
      
   oUpload.SaveAs oUpload.GetFileName
   file_uploaded = replace(oUpload.files("name"), "'", "''") & "." & oUpload.files("ext") 
     
   arr_file(i) = file_uploaded 
   i = i + 1
   
   oUpload.MoveNext
   Wend
   
   End if
   End if

   End With  

   strSQL = "UPDATE " 
   strSQL = strSQL & "  tbl_mp " 
   strSQL = strSQL & "  SET " 
  
   if oUpload.Form("A") > "0" then
      strSQL = strSQL & "  A = '" & strFolder & "/" & arr_file(0) & "', "
   else
      strSQL = strSQL & "  A = '', "
   end if     
      
   if oUpload.Form("B") > "0" then
      strSQL = strSQL & "  B = '" & strFolder & "/" & arr_file(1) & "', "
   else
      strSQL = strSQL & "  B = '', "
   end if  
  
   if oUpload.Form("C") > "0" then
      strSQL = strSQL & " C = '" & strFolder & "/" & arr_file(2) & "' "
   else
      strSQL = strSQL & " C = '' "      
   end if

   strSQL = strSQL & "  WHERE " 
   strSQL = strSQL & "  ID = " & request.querystring("ID")
   cn.execute(strSQL)