Mancato aggiornamento di una update in form

di il
5 risposte

Mancato aggiornamento di una update in form

Buongiorno,

ho un problema con un form, la fase di inserimento e memo dei dati funziona senza problemi ma in fase di variazione pur uscendo senza alcun problema dal form stesso non prende alcuna variazione.
Inserisco di seguito parte del codice sperando in un aiuto.

Grazie e saluti, Maurizio

1. sub di caricamento del form (funziona) - lkcomm proviene da un form di visualizzazione della tabella da sottoporre a variazione
Sub page_load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
     
        
        Dim conn As New SqlConnection("Data Source=xxxxxx;Initial Catalog=xxx;User Id=xxxx;Password=xxxxx")
        Dim command As New SqlCommand("select * from corso where cso_desbreve=@par1", conn)
        command.Parameters.AddWithValue("@par1", Request.QueryString("lkcomm").ToString())
        
        conn.Open()
        Dim dr1 As SqlDataReader = command.ExecuteReader()
        operazione.Text = "VARIAZIONE"
        
        If dr1.Read() Then
            desbreve.Text = dr1("cso_desbreve").ToString
            descri.Text = dr1("cso_descri").ToString
            tipologia.Text = dr1("cso_tipologia").ToString
            norma_obb.Text = dr1("cso_norma_obbligo").ToString
            norma_def.Text = dr1("cso_norma_def").ToString
            minimo.Text = dr1("cso_minimo").ToString
            massimo.Text = dr1("cso_massimo").ToString
            ore.Text = dr1("cso_ore").ToString
            max_assenze.Text = dr1("cso_max_assenze").ToString
            periodicita.Text = dr1("cso_periodicita").ToString
            costodescri.Text = dr1("cso_costodescri").ToString
            costo.Text = dr1("cso_costo").ToString
            scontato.Text = dr1("cso_scontato").ToString
            testo.Text = dr1("cso_testo").ToString
            nome1.Text = dr1("cso_nome_allegato1").ToString
            allegato1.Text = dr1("cso_allegato1").ToString
            nome2.Text = dr1("cso_nome_allegato2").ToString
            allegato2.Text = dr1("cso_allegato2").ToString
            nome3.Text = dr1("cso_nome_allegato3").ToString
            allegato3.Text = dr1("cso_allegato3").ToString
            nome4.Text = dr1("cso_nome_allegato4").ToString
            allegato4.Text = dr1("cso_allegato4").ToString
            nome5.Text = dr1("cso_nome_allegato5").ToString
            allegato5.Text = dr1("cso_allegato5").ToString
        End If
        dr1.Close()
        conn.Close()
            
           
      
    
    End Sub
2. sub di aggiornamento (qui qualcosa non va)
  Sub esegui(ByVal sender As Object, ByVal e As EventArgs)
        
       
        
     
        If Page.IsValid Then
                       
    

            If operazione.Text = "VARIAZIONE" Then
                Dim strdiv As String
                Dim conPubs As SqlConnection
                Dim strUpdate As String
                Dim cmdUpdate As SqlCommand
                Dim IntUpdateCount As Integer
                conPubs = New SqlConnection("Data Source=xxxxxx;Initial Catalog=xxx;User Id=xxxx;Password=xxxxx"")
                
                conPubs.Open()
                strUpdate = "update corso set cso_descri = @descri, cso_tipologia = @tipologia, cso_norma_obbligo = @norma_obb, cso_norma_def = @norma_def, cso_minimo = @minimo, cso_massimo = @massimo, cso_ore = @ore, cso_max_assenze = @max_assenze, cso_periodicita = @periodicita, cso_costodescri = @costodescri, cso_costo = @costo, cso_scontato = @scontato, cso_testo = @testo, cso_nome_allegato1 = @nome1, cso_allegato1 = @allegato1, cso_nome_allegato2 = @nome2, cso_allegato2 = @allegato2, cso_nome_allegato3 = @nome3, cso_allegato3 = @allegato3, cso_nome_allegato4 = @nome4, cso_allegato4 = @allegato4, cso_nome_allegato5 = @nome5, cso_allegato5 = @allegato5, cso_desbreve = @desbreve where (cso_desbreve = '" & Request.QueryString("lkcomm").ToString() & "')"
            
               
                cmdUpdate = New SqlCommand(strUpdate, conPubs)
              
                cmdUpdate.Parameters.AddWithValue("@descri", descri.Text)
                cmdUpdate.Parameters.AddWithValue("@tipologia", tipologia.Text)
                cmdUpdate.Parameters.AddWithValue("@norma_obb", norma_obb.Text)
                cmdUpdate.Parameters.AddWithValue("@norma_def", norma_def.Text)
                cmdUpdate.Parameters.AddWithValue("@minimo", minimo.Text)
                cmdUpdate.Parameters.AddWithValue("@massimo", massimo.Text)
                cmdUpdate.Parameters.AddWithValue("@ore", ore.Text)
                cmdUpdate.Parameters.AddWithValue("@max_assenze", max_assenze.Text)
                cmdUpdate.Parameters.AddWithValue("@periodicita", periodicita.Text)
                cmdUpdate.Parameters.AddWithValue("@costodescri", costodescri.Text)
                cmdUpdate.Parameters.AddWithValue("@costo", costo.Text)
                cmdUpdate.Parameters.AddWithValue("@scontato", scontato.Text)
                cmdUpdate.Parameters.AddWithValue("@testo", testo.Text)
                cmdUpdate.Parameters.AddWithValue("@nome1", nome1.Text)
                cmdUpdate.Parameters.AddWithValue("@nome2", nome2.Text)
                cmdUpdate.Parameters.AddWithValue("@nome3", nome3.Text)
                cmdUpdate.Parameters.AddWithValue("@nome4", nome4.Text)
                cmdUpdate.Parameters.AddWithValue("@nome5", nome5.Text)
                cmdUpdate.Parameters.AddWithValue("@allegato1", allegato1.Text)
                cmdUpdate.Parameters.AddWithValue("@allegato2", allegato2.Text)
                cmdUpdate.Parameters.AddWithValue("@allegato3", allegato3.Text)
                cmdUpdate.Parameters.AddWithValue("@allegato4", allegato4.Text)
                cmdUpdate.Parameters.AddWithValue("@allegato5", allegato5.Text)
                cmdUpdate.Parameters.AddWithValue("@desbreve", desbreve.Text)
                IntUpdateCount = cmdUpdate.ExecuteNonQuery()
                
                conPubs.Close()
                     
                strdiv = " Record modificato correttamente. <br /><a href='dbseicpt_corsi.aspx'>Ritorna</a>"
            
                Try

                Catch ex As Exception
                    MsgBox(ex.Message)

                End Try
                risultato.Visible = True
                risultato.InnerHtml = strdiv
                form_blocco.Visible = False
            End If
        Else
            risultato.InnerHtml = "Form non valido"
        End If
    End Sub
  

5 Risposte

  • Re: Mancato aggiornamento di una update in form

    Una domanda veloce: hai gestito il PostBack: "html.it/pag/16636/il-concetto-di-postback/"?
  • Re: Mancato aggiornamento di una update in form

    Ahi...temo di no ...ho poca esperienza con asp.net, Ti ringrazio provo a gestirlo, potrebbe essere quello il problema?
    Grazie e saluti, Maurizio
  • Re: Mancato aggiornamento di una update in form

    bussa1961 ha scritto:


    Ahi...temo di no ...ho poca esperienza con asp.net, Ti ringrazio provo a gestirlo, potrebbe essere quello il problema?
    Se all'interno dell'evento Page_Load non discrimini il primo caricamento della pagina da quelli successivi, che avvengono perché agisci sulla pagina stessa, finirai per ricaricare al suo interno gli stessi dati che erano presenti prima della modifica dell'utente, quindi l'aggiornamento non avrà mai effetto, o meglio avverrà usando gli stessi dati caricati da DB, ossia non noterai alcuna variazione nel record.

    Tieni presente che l'oggetto della pagina, compreso l'evento Load, viene creato ogni volta che si torna sul server: devi usare quindi il metodo IsPostBack per capire se stai tornando sulla pagina perché si tratta del primo accesso (e allora caricherai i dati da DB per inizializzarla) oppure se ci stai ritornando perché l'utente ha eseguito un'azione (che ha scatenato appunto il "postback", ossia il caricamento della pagina inviando però informazioni sull'evento che si è verificato, ad esempio il clic sul pulsante di salvataggio) e a quel punto non dovrai assolutamente ricaricare i dati, altrimenti sovrascrivi le modifiche dell'utente (che vengono veicolate assieme al resto delle informazioni).

    Ciao!
  • Re: Mancato aggiornamento di una update in form

    Mi scuso se rispondo solo ora, sono stato impegnato in altri lavori, ho inserito il metodo suggerito e funziona tutto perfettamente!!!
    Grazie e Saluti, Maurizio
  • Re: Mancato aggiornamento di una update in form

    bussa1961 ha scritto:


    Mi scuso se rispondo solo ora, sono stato impegnato in altri lavori, ho inserito il metodo suggerito e funziona tutto perfettamente!!!
    Perfetto! Come si dice, "tutto è bene..."
Devi accedere o registrarti per scrivere nel forum
5 risposte