Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
DataSet multitabelle. Ed i Command?
venerdì 18 settembre 2009 - 10.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
giopla
Profilo
| Newbie
2
messaggi | Data Invio:
ven 18 set 2009 - 10:40
Salve a tutti,
lavoro da anni coi db SQL Server e, a livello di programmazione, mi sono fermato al vecchio caro VB6.
Adesso, per non essere lasciato indietro dal progresso (mio figlio di 14 anni già dice che sono antiquato), sto cominciando ad entrare nel mondo .NET tramite ADO e C#.
Ora, io mi aspettavo di trovare un mondo di gran lunga migliorato rispetto alle vecchie strutture ADO 2.5 o 3.5. In realtà i miglioramenti sembra siano arrivati soltanto dal punto di vista delle prestazioni, ma non mi pare (almeno per quello che ho visto finora) della semplicità.
In questo momento mi sto imbattendo in un problema forse più concettuale che pratico, ma credo che, forse, qualcuno ha già affrontato anche perchè non mi sembra una cosa così "lunare":
Se ho un Dataset, ed ad esso associo un DataAdapter, e tramite esso, mappo in memoria, non una, ma diverse tabelle del mio db, come faccio, in maniera cristiana e non "ostrogota", ogni qualvolta devo aggiornare il db sorgente, ad utilizzare i vari InsertCommand, UpdateCommand e DeleteCommand appositi se, appunto le tabelle sono tante ed i command da associare al DataAdapter sono unici?
Scusate se la domanda vi dovesse suonare stupida e magari la risposta è scontata, ma, ripeto, sto cominciando a studiare l'argomento da pochissimo.
Grazie!
Teech
Profilo
| Expert
573
messaggi | Data Invio:
dom 20 set 2009 - 10:13
Ogni DataAdapter ha un solo UpdateCOmmand, un solo InsertCommand ed un Solo DeleteCommand, ma ha anche un solo SelectCommand.
Da questo ipotizzo che sostituisci il SelectCommand di volta in volta per popolare diversi DataTable se usi un solo DataAdapter.
Ora, le strade sono 2 per risolvere il tuo problema: la prima, più complicata e secondo me errata, è sostituire i command in base alla tabella così come stai facendo per la SelectCommand nello stesso DataAdapter, mentre la seconda è gestire un DataAdapter per ogni DataTable implementando le logiche che più ti aggradano.
Se ci fai caso, quando esegui il metodo Adapter.Fill(Dataset) viene generato un DatatTable all'interno del Dataset e quindi "la relazione" è fra DataAdapter e DataTable.
Spero di essere stato chiaro e esserti stato di aiuto.
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
giopla
Profilo
| Newbie
2
messaggi | Data Invio:
lun 21 set 2009 - 11:47
Sei stato chiarissimo ed esaustivo, Teech.
Penso che comincerò a sperimentare varie soluzioni, anche perchè è mia consuetudine adottare un modello di programmazione 3-layer, per cui vorrei vedere anche come si possono ottimizzare le prestazioni... Farò uso del tuo suggerimento, grazie!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !