Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Problema con query di aggiornamento-

    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)

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Secondo me è perché la arry arr_file e vuota potreti provare cosi:
    If len(oUpload.Form("A")) > 0 Then cioè verificare se dentro agli input c'è qualcosa, come fai adesso non mi sembra che questo accada.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da cavicchiandrea
    Secondo me è perché la arry arr_file e vuota potreti provare cosi:
    If len(oUpload.Form("A")) > 0 Then cioè verificare se dentro agli input c'è qualcosa, come fai adesso non mi sembra che questo accada.
    No... nemmeno così funziona---

  4. #4
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Se stampo il contenuto dell'array:

    codice:
    response.write arr_file(i)  & "
    "
    A = Nullo
    B = v_1_2.doc
    C = s_2.pdf

    Ottengo i nomi dei files esatti... ma nella query è sbagliato...

    Inserisce il file s_2.pdf nel campo B della tabella invece che nel campo C, e nel campo C non inserisce nulla---

    codice:
    UPDATE tbl_mp SET 
    A = '', 
    B = '/public/Archivio/s_2.pdf', 
    C = '/public/Archivio/'
    WHERE ID = 266

  5. #5
    per vedere se il problema è qui

    codice:
      if oUpload.Form("A") > "0" then
          strSQL = strSQL & "  A = '" & strFolder & "/" & arr_file(0) & "', "
       else
          strSQL = strSQL & "  A = '', "
       end if
    trasformalo in

    codice:
      if oUpload.Form("A") > "0" then
          strSQL = strSQL & "  A = '" & strFolder & "/" & arr_file(0) & "', "
       else
          strSQL = strSQL & "  A = '***', "
       end if
    e poi controlla la query

  6. #6
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Grazie, questa è la query:

    codice:
    UPDATE tbl_mp SET 
    A = '***', 
    B = '/public/Archivio/s_2.pdf', 
    C = '/public/Archivio/'
    WHERE ID = 266

  7. #7
    quindi hai trovato *dove* sta il problema controlla come mai quella upload.form("A") NON è >"0" (anzi, fatti stampare COSA contiene...)

  8. #8
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    quindi hai trovato *dove* sta il problema controlla come mai quella upload.form("A") NON è >"0" (anzi, fatti stampare COSA contiene...)
    Ecco i tre campi interessati e cosa contengono:

    codice:
    A = 0
    B = 84
    C = 52
    A è 0 perchè non ho allegato nulla per il campo A del form, ho allegato files invece in campo B ed in campo C... non ti seguo scusa---

  9. #9

  10. #10
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    bene, procedi pure
    Scusa sono nel pallone, cosa devo fare?
    Ed anche togliendo la condizione il risultato della query rimane la stesso---

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.