+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

aggiornamento database access dopo modifiche al datagridview

  1. #1
    fazz non è in linea Novello
    Salve a tutti,
    mi scuso se chiedo quest'informazione, che sicuramente molti utenti hanno già chiesto, ma sono due ore che mi arrabatto su forum e msdn help senza soluzione.

    in pratica ho un form contentente una combobox che uso per selezionare una tabella al variare della selezione (evento SelectedIndexChanged) richiamo una procedura che mi visualizza tutti i record della tabella all'interno di un datagrid la procedura è la seguente.


    
     private void AggiornaDataGrid(string nomeTabella)
            {
                System.Windows.Forms.MessageBox.Show(nomeTabella);
                string query = " SELECT * FROM " + nomeTabella;
               using (OleDbConnection con = new OleDbConnection(share.connectionString))
                
                {
                    ds = new DataSet();
                    //SqlDataAdapter da = new SqlDataAdapter(query, con);
                    da = new OleDbDataAdapter(query, con);
                    da.Fill(ds, nomeTabella);
                    dataGridView1.AutoGenerateColumns = true;
                    dataGridView1.DataSource = ds;
                    dataGridView1.DataMember = nomeTabella;
                     
               }//using
    
    
            }
    
    e fin qui ok, il problema è come aggiornare l'origine dati? so che bisogna utilizzare il metodo update della classe OleDbDataAdapter, ma a questo punto mi sono impantanato in una marea di problemi,

    avevo pensato di utilizzare un button alla cui pressione forzare l'aggiornamento del database prendendo il dataset tramite un casting del datasource del datagridview
    DataSet ds= (DataSet) dataGridView1.DataSource
    
    ma niente da fare,

    qualcuno potrebbe gentilmente spiegarmi come fare a forzare questo aggiornamento?


    grazie mille
    Luca

  2. #2
    L'avatar di Cteniza
    Cteniza non è in linea Amanuense
    Per poter aggiornare il database devi impostare il dataadapter per i command di update/insert/delete.
    Esempio:
    OleDbDataAdapter da = new OleDbDataAdapter("SELECT ...",myConnection);
    OleDbCommandBuilder cmb = new OleDbCommandBuilder(da);
    
    Poi quando sei pronto per aggiornare il database:
    da.Update(myDataset.Tables["mytable"]);
    
    se hai generato il tableadapter e il dataset tipizzato devi usare classi e metodi tipizzati.
    ℹ️ Leggi di più su Cteniza ...

  3. #3
    fazz non è in linea Novello
    Grazie mille, adesso funziona, veramente gentilissimi e disponibilissimi

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. [VS2017] Anomalia in anullamento modifiche DataGridView
    Da Sgrubak nel forum Visual Basic .Net
    Risposte: 6
    Ultimo Post: 09-07-2018, 09:34
  2. Esportazione txt da maschera dopo modifiche
    Da XXPATELLAXX nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 15-04-2015, 11:33
  3. Risposte: 14
    Ultimo Post: 09-07-2012, 23:24
  4. Risposte: 2
    Ultimo Post: 23-04-2011, 00:26
  5. [Access 2007] riordinare record dopo aggiornamento dati
    Da Lion nel forum Microsoft Access
    Risposte: 8
    Ultimo Post: 31-03-2010, 15:50