Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    107

    Upload di file e update record

    Buona Sera,
    utilizzo egregiamente la classe BAOL per upload file e scrivere il percorso in un db.
    Vorrei se possibile, implementarlo per aggiungere dei file ad un record esistente.
    Per cui se prima aggiungo 2 foto con due descrizioni per il prodotto PIPPO e tutto mi va ok.
    Vorrei avere la possibilità di aggiungere altre 2 foto (magari senza descrizione) ma sempre per il prodotto PIPPO.
    Ovviamente il db avrà in questo caso 4 campi foto, (foto, foto1, foto2, foto3)

    ho cosi pensato di eliminare
    Rs.AddNew
    E inefetti cosi facendo non mi crea un nuovo record.

    e ovviamente ho aggiunto
    sql = "SELECT * FROM PLUTO WHERE Id_contatore=389"
    Ho inserito direttamente l'id contatore per vedere se mi modifica esattamento quella riga.

    Il risultato è il seguente.
    Il file viene uploado.
    Non mi crea un nuovo record.
    Però non mi modifica la riga 389, ma un'altra (non capisco in base a quale logica la scelga...)

    Posto tutto il codice.
    <%
    If Request.QueryString("Save")="1" then
    Dim oUpload
    Set oUpload = new cUpload
    oUpload.AutoRename = True
    oUpload.Overwrite = False
    oUpload.SetPath "\foto\" 'Impostazione del percorso
    oUpload.Load
    While Not oUpload.EOF
    oUpload.Save()
    Select Case lCase(oUpload.Files("InputName"))
    Case "foto"
    FileName_foto = oUpload.GetFileName()
    Case "foto1"
    FileName_foto1 = oUpload.GetFileName()
    Case "foto2"
    FileName_foto2 = oUpload.GetFileName()
    Case "foto3"
    FileName_foto3 = oUpload.GetFileName()
    End Select
    oUpload.MoveNext
    Wend
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\inetpub\vhosts\xxxx.mdb"
    sql = "SELECT * FROM PLUTO WHERE Id_contatore = 389"
    Set Rs=server.CreateObject("ADODB.Recordset")
    Rs.Open "CICCIO",Conn,3,3
    Rs("foto") = "foto/"&FileName_foto
    Rs("foto1") = "foto/"&FileName_foto1
    Rs("foto2") = "foto/"&FileName_foto2
    Rs("foto3") = "foto/"&FileName_foto3

    Rs.update
    Rs.Close
    Conn.Close
    Set Rs = Nothing
    Set Conn=Nothing
    Set oUpload = Nothing
    E

  2. #2
    scusa ma dov'è l'update?

    .. scusa visto =)

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    107
    menomale non sapevo che pesci prendere :P

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    107

    Funziona

    Ho trovato l'errore.
    Rs.Open sql, Conn,3,3
    cosi funziona.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    107

    help me

    Funziona tutto a dovere, ma nel momento in cui metto l'id_contatore dinamico cado e sbatto la testa.

    sql = "SELECT * FROM PLUTO WHERE Id_contatore=389"
    Vorrei mettere l'id contatore dinamico e cosi ho fatto questo
    cod=Request.Querystring("cod")
    SQL=" SELECT * FROM pluto WHERE id_contatore="&cod

    Se nella pagina metto <%= Request.QueryString("cod") %> mi stampa a video l'id che ho richiamato nella pagina...

    Microsoft JET Database Engine error '80040e14'

    Syntax error (missing operator) in query expression 'id_contatore='.

    /entranet/xx/addfoto1.asp, line 25


    Chi mi aiuta per finire questo script.

    Grazie

  6. #6
    è un po' che non programmo quindi vado a tentativi

    1. stampa a video la tua query, magari capisci al volo l'errore
    2. hai detto che cod non è vuoto perchè te lo stampa a video, però se non sbaglio è di tipo string, magari è questo a darti problemi prova a fare così -> cod=int(Request.Querystring("cod")) e per sicorezza stampa a video cod dopo questa operazione
    3. per ultimo mi viene in mente una cosa che mi fece impazzire per giorni qualche anno fa, controlla che cod non sia un carattere riservato di access/sql , ma mi sembra di no

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    107

    Ci sono riuscito, grazie a tutti

    Finalmente funziona.
    Questo è il codice per aggiornare una singola foto si un record già esistente.
    Si suppone che si sia inserita una foto errata per l'articolo pippo, con questo script (BAOL) si aggiorna il record dell'articolo pippo con una nuova foto.


    Attenzione al form bisogna dare questo
    <form action="?save=1&cod=<%= Request.QueryString("cod") %>" method="post" enctype="multipart/form-data" name="form1" id="form1">


    Codice di upload
    <%cod=Request.Querystring("cod")%>

    <%
    If Request.QueryString("Save")="1" then
    Dim oUpload
    Set oUpload = new cUpload
    oUpload.AutoRename = True
    oUpload.Overwrite = False
    oUpload.SetPath "\foto\" 'Impostazione del percorso
    oUpload.Load
    While Not oUpload.EOF
    oUpload.Save()
    Select Case lCase(oUpload.Files("InputName"))
    Case "foto1"
    FileName_foto1 = oUpload.GetFileName()
    End Select
    oUpload.MoveNext
    Wend
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=xxxx.mdb"
    cod=Request.Querystring("cod")
    SQL=" SELECT * FROM pippo WHERE id_contatore="&cod
    Set Rs=server.CreateObject("ADODB.Recordset")
    Rs.Open sql ,Conn,3,3
    Rs("foto1") = "foto/"&FileName_foto1

    Rs.update
    Rs.Close
    Set Rs = Nothing
    Conn.Close
    Set Conn=Nothing
    Set oUpload = Nothing
    End if
    %>

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.