Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    [vn.net] aggiornamento dataset in binding con datagrid

    devo aggiornare un dataset collegato in binding ad una griglia

    ho provato a fare l'update negli gli eventi ColumnChanging e ColumnChanged del dataSet
    ma non viene applicato nessun cambiamento
    se l'update viene fatto alla pressione di un pulsante salva(succesivamente alla modifica)
    le variazioni vengono aportate al db correttamente

    mi chiedo che evento dovrei sfruttare per aggiornare i dati alla semplice modifica dei campi della

    griglia, senza ricorrere ad un pulsante salva

    posto un po di codice
    codice:
            Dim myConnection As OleDbConnection = New OleDbConnection(strConnElab)
            myConnection.Open()
    
            myDa = New OleDbDataAdapter
            myDs = New DataSet
            
    
    
            'SELECT
            Dim mySelectCommand As OleDbCommand = New OleDbCommand
    
            strsql = "select idprog,cartella,nontrovate,targa,verbale,datainfra,spazio,"
            strsql &= "importorichiesto,posizione,pagare,disctot,discparz,codpagamento,brand,ente from 
    
    CartelleProcessate"
            strsql &= " where cartella='" & ComboBox1.Text & "'"
    
            mySelectCommand.CommandText = strsql
            mySelectCommand.Connection = myConnection
    
    
            'UPDATE
            Dim myUpdateCommand As OleDbCommand = New OleDbCommand()
    
            strsql = "UPDATE CartelleProcessate SET "
            strsql &= "DiscParz=?,"
            strsql &= "DiscTot=?,"
            strsql &= "pagare=?"
            strsql &= " WHERE idProg=?"
    
            myUpdateCommand.CommandText = strsql
            myUpdateCommand.Connection = myConnection
    
            myUpdateCommand.CommandType = CommandType.Text
            myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("DiscParz", 
    
    System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 
    
    CType(0, Byte), "DiscParz", System.Data.DataRowVersion.Current, False, Nothing))
            myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("DiscTot", 
    
    System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 
    
    CType(0, Byte), "DiscTot", System.Data.DataRowVersion.Current, False, Nothing))
            myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("Pagare", 
    
    System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 
    
    CType(0, Byte), "Pagare", System.Data.DataRowVersion.Current, False, Nothing))
            myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("idProg", 
    
    System.Data.OleDb.OleDbType.BigInt, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 
    
    CType(0, Byte), "idProg", System.Data.DataRowVersion.Original, False, Nothing))
    
            'aggiungo i command al dataset
            myDa.SelectCommand = mySelectCommand
            myDa.UpdateCommand = myUpdateCommand
    
            myDa.Fill(myDs, "CartelleProcessate")  'aggiunto il nome della tabella
    
            '========================================================================
            'abilito l'evento ColumnChanging per validare i dati  'li vado a salvare
            AddHandler myDs.Tables("CartelleProcessate").ColumnChanging, AddressOf 
    
    dtgFlag_ColumnChanging
            '========================================================================
    
            dtgFlag.DataSource = myDs.Tables(0)


    codice:
     'GESTIORE DELL'EVENTO COLUMNCHANGING PER VALIDAZIONE DEI DATI
        Private Sub dtgFlag_ColumnChanging(ByVal sender As Object, ByVal e As 
    
    DataColumnChangeEventArgs)
    
    	'VALIDAZIONE DEI DATI INSERITI
    	'..........
    	'......
    	'...
    		
    	'AGGIORNAMENTO
            myDa.Update(myDs, "CartelleProcessate")  '<-- NON FUNZIONA 
    
    
        End Sub
    l'istruzione myDa.Update(myDs, "CartelleProcessate") non funziona ne in questo evento qui sopra ne

    le ColumnChanged

    ma se lo richiamo alla pressione di un pulsate l'update aggiorna correttamente i dati

    forse in quegli eventi la le proprieta dei parameter non sono ancora state valorizzate o mappate

    con i nuovi valori digitati sulla griglia?
    che evento usare che sia "succesivo" a questi?

  2. #2
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    allora nessuno che è mai capitato di salvare i dati semza utilizzare un pulsante salva ma semplicemente dopo averli scritti sulla griglia?
    che evento avete usato per fare l'update

  3. #3
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    io in genere non utilizzo dataset per aggiornare il database
    ma invio una upate tramite stored procedure

    cmq puoi leggerti questo link
    http://www.visual-basic.it/areaartic...utAspNet04.htm
    parla di asp.net, ma penso che la logica sia la stessa
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

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.