Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Vb2005: Salvataggio dati

    Con il comando:

    codice:
    Me.DataSet.Tabella.AcceptChanges()
    convalida tutte le modifiche riportate.

    Ma quando aggiorno le modifiche, al riavvio del programma in exe le modifiche non vengono riportate

    Come mai?

    Come devo fare?
    "Che differenza c'è tra un telescopio e una scarpa stretta? - Nessuna! Tutte due fanno vedere le stelle!"
    **********
    Homeworld 2, il gioco potente che ho mai incontrato!

  2. #2
    Ciao Alexander.
    Con AcceptChanges, fai esattamente il contrario di quello che vuoi fare, cioè ....convalidi tutte le modifiche apportate al Datatable rendendo impossibile al dataadapter di rilevarle e quindi aggiornarle.
    Piuttosto, dovresti usare il metodo Update del DataAdapter, per aggiornare i dati.

    Facci sapere...
    Ciao

  3. #3
    Inanzitutto, ti ringrazio per la risposta e spero di trattare a lungo questo argomento

    Ilrpoblema però è che, una volta salvato i dati, se voglio aggiornarli, mi restituisce un errore, il quale dice che se di deve disporre un UpdateCommand valido per aggiornare le modifiche

    Ti spiego meglio:

    Io ho salvato dei dati, e io voglio modificarli. Una volta modificati, vado a premere il pulsante col metodo Update, e qui mi da l'errore

    Qui in seguito si trova il codice di salvataggio:

    codice:
    Me.Validate()
    Me.TabellaBindingSource.EndEdit()
    Me.TabellaTableAdapter.Update(Me.DataSet.Tabella)
    Sono preoccupato dal fatto che con il metodo EndEdit finisce le modifiche.

    Ho provato a toglierlo, ma al riavvio del programma l'ultimi dati salvati spariscono

    Tu sei l'unica persona che può aiutarmi
    "Che differenza c'è tra un telescopio e una scarpa stretta? - Nessuna! Tutte due fanno vedere le stelle!"
    **********
    Homeworld 2, il gioco potente che ho mai incontrato!

  4. #4
    Originariamente inviato da Alexander777
    Ilrpoblema però è che, una volta salvato i dati, se voglio aggiornarli, mi restituisce un errore, il quale dice che se di deve disporre un UpdateCommand valido per aggiornare le modifiche
    Esatto ... significa che i 'commands' del dataadapter che si dovrebbero preoccupare dell'aggiornamento dei dati, non sono stati inizializzati.
    Per farlo, dovresti assegnare il tuo dataadapter ad un commandbuilder prima di usare il metodo fill, così che permetti al commanbuilder di costruire/inizializzare i command relativi all'inserimento, modifica e cancellazione dei dati in base alla struttura della query di select.
    Quindi
    codice:
    Conn = New OleDb.OleDbConnection(ConnString)
            Cmd = New OleDb.OleDbCommand("SELECT * FROM TuaTabella", Conn)
            Da = New OleDb.OleDbDataAdapter(Cmd)
            Ds = New DataSet
            Dim cmb As New OleDb.OleDbCommandBuilder(Da)
            Da.Fill(Ds, "NomeTabella")
            DataGridView1.DataSource = Ds.Tables(0)
            DataGridView1.Refresh()
            cmb.GetUpdateCommand()
            cmb.GetDeleteCommand()
            cmb.GetInsertCommand()
    
    Sul click del bottone di update
       Da.Update(Ds.Tables(0))
    Tu sei l'unica persona che può aiutarmi
    Questo non è assolutamente vero.

    Se non sono stato chiaro .... facci sapere....
    Ciao

  5. #5
    Grazie molte!

    Ti farò sapere se funziona!

    Ciao!
    "Che differenza c'è tra un telescopio e una scarpa stretta? - Nessuna! Tutte due fanno vedere le stelle!"
    **********
    Homeworld 2, il gioco potente che ho mai incontrato!

  6. #6

  7. #7
    Ciao Gibra.
    Ho dato un occhio al progettino di esempio che hai linkato....ma non mi sembra sia quello che ha chiesto Alexander, in quanto, l'esempio, non utilizza il dataadapter per l'aggiornamento dei dati ma ogni volta un nuovo command.
    Nulla in contrario al metodo ..... anzi ..... io sono promotore del 'tutto a manina' e ... poco 'già pronto che funziona'.....volevo solo precisare.

    Ciao.

  8. #8
    Carissimo Jeremy

    Nell'evento:

    Conn = New OleDb.OleDbConnection(ConnString)


    ConnString cosa vuole significare?

    Pardon per la mia ignoranza
    "Che differenza c'è tra un telescopio e una scarpa stretta? - Nessuna! Tutte due fanno vedere le stelle!"
    **********
    Homeworld 2, il gioco potente che ho mai incontrato!

  9. #9
    Ciao Alexander.
    "ConnString" è la stringa di connessione al database.
    Nel mio caso:
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= |DataDirectory|\\Database.mdb;"
    Perchè uso un Db di Access che si trova nella directory dell'applicazione.
    Nel tuo caso:
    ????? (prova a vedere www.connesctionstring.com)

    Facci sapere...
    Ciao

  10. #10
    Grazie mille

    Dovrò studiare meglio i termini di Visual Basic 2005: c'è ancora parecchia strada che devo percorrere!

    "Che differenza c'è tra un telescopio e una scarpa stretta? - Nessuna! Tutte due fanno vedere le stelle!"
    **********
    Homeworld 2, il gioco potente che ho mai incontrato!

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.