Visualizzazione dei risultati da 1 a 2 su 2

Discussione: DataSet C#

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    DataSet C#

    Salve.
    Continuo ad approfondire tematiche riguardanti codice C#.
    Stavo cercando di capire come funziona il DataSet.
    A livello concettuale il DataSet si può definire uno strato software che funge da cuscinetto tra applicazione e database?
    Ma più che altro come funziona, praticamente prende una parte di database lo carica in memoria di lavoro(RAM)? E poi se la memoria di lavoro non è sufficientemente grande carica un'altra parte di database?
    Da quanto ho capito il dataset lavora in modalità disconnessa, ma allora quando è meglio lavorare in modalità disconnessa o in modalità connessa?
    Grazie per qualsiasi delucidazione.

  2. #2
    Utente di HTML.it L'avatar di ybla82
    Registrato dal
    Jan 2009
    Messaggi
    92
    In generale un dataset si interfaccia con il database sotto tramite un dataAdapter tipizzato secondo il tipo di database ( SqlServer, Oracle, etc..)
    Questo oggetto si occupa di gestire i metodi per le operazioni crud, ed eventuali query particolari definite dal programmatore. Quello che viene caricato nel dataset dipende quindi da questo oggetto adapter. Il dataset quindi è sempr ein modalità disconnessa.

    Ti faccio un esempio più pratico.
    Il dataset di solito è il datasource di una griglia. Quando tu vai a modificare dei valori dentro la griglia, modifichi anche quelli del dataset. A questo punto le righe modificate del dataset assumono uno stato particolare ( Added, Modifed, Deleted, se non ricordo male) a seconda di quello che hai fatto.

    A questo punto il dataset contiene dei dati differenti da quelli del DB. Tramite l'adapter esegui allora un'operazione di salvataggio del dataset per aggiornare i dati anche nel DB.


    La stessa cosa avviene al contrario.
    I dati sul DB cambiano in maniera indipendente dalla tua applicazione.
    Sul dataset sono presenti i dati caricati la prima volta, ma non verranno poi aggiornati ad ogni cambiamento del db. E' necessario quindi fare una richiesta periodica di aggiornamento sempre tramite l'adapter.

    Spero che sia quello che tu stessi cercando.

    P.S. Se non si usa l'adapter, il riempimento del dataset deve essere fatto a mano. Di conseguenza la connessione con il DB la gestisci te come meglio credi.

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.