Newsgroup: it.comp.lang.visual-basic
Titolo: [? .NET lunghino] DataAdapter o DataSet?

Ciao!!! Comincio un po' alla lunga....
Ho una vecchia rubrica telefonica scritta in VB4. Sto aprofittando delle
vacanze per convertirla in .NET.
Dunque, per farla brava, nel db (Access 2000) ho una tabella Anagrafica con
i vari campi:
Cognome, Nome, Indirizzo, CAP......etc. etc.
Ok, fin qua. In .NET ho creato una classe Anagrafica con le varie proprietà
Cognome, Nome, Indirizzo e così via. Ovviamente, sono proprietà di tipo
testo read/write.
Adesso arriva il dubbio. Sto creando una Windows Form con una ListView che
sia in grado di visualizzare tutti gli elementi presenti in anagrafica. La
ListView ha solo due colonne, per il nome e il cognome. Come faccio, mi sono
detto?
Ho aggiunto un metodo Carica alla classe Anagrafica. Questo metodo dovrebbe
leggere la tabella Anagrafica e restituirla in qualche modo all'applicazione
principale, che dovrebbe quindi riempire la ListView. Come dovrei fare,
secondo voi, per fare le cose per bene? Alcuni cose che ho pensato:
1) Al metodo .Carica passo un parametro di tipo ListView.
Nell'implementazione del metodo, riempio direttamente la ListView. Non mi
piace molto, perchè magari mi piacerebbe riutilizzare lo stesso metodo anche
in altri ambiti, senza riempire alcuna ListView.
2) Il metodo .Carica restituisce la tabella Anagrafica in qualche modo, come
il DataSet o il DataAdapter. E' il metodo che preferisco, perchè in questo
modo mi viene appunto restituito un DataSet che posso lavorare come voglio.
E' giusto come ragionamento?
Avete qualche altro metodo più efficace?
Grazie!!!
good coding!!!
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
dam...@italiainfiera.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262
---
"Tu devi capire che lei è nuova a queste cose..."
"Bhè, e che cosa ci vuole?"
"Ci vuole, ci vuole, è questione di orizzonti che non è abituata a
vedere..."
Una persona che conosco, 8 Novembre 2002

 Grazie!!!
Ciao
Andrea

beh, vb6 gestiva gli ListItem, per cui deduco che anche .NET adotti questo
approccio, cioè considerare ogni riga come un oggetto.
Però io volevo che il mio metodo Carica mi restituisse il contenuto della
tabella indipendentemente dal fatto che debba riempire una ListView oppure
fare qualche altra operazione, capito?
Cioè, per dire, all'avvio del programma dovrei riempire la ListView, ma in
un secondo momento dovrei leggere la tabella Anagrafica per qualche altro
motivo, come fare ricerche, fare una stampa e così via.
Quindi, quello che volevo fare è creare un metodo che potessi utilizzare in
ogni caso, facendogli restituire un oggetto "generico", da usare per diversi
scopi......


 Damiani Liborio Igor
Ciao
Andrea

 E' giusto come ragionamento?
Se non necessitano DataBinding o metodi di utilizzo del DataSet , un
DataTable lo trovo più manovrabile.
Resta l'uscita dal campo di visibilità.
Per manovrare la sorgente dati , se non è possibile recuperarla dalla
proprietà della lista va conservata in memoria.
giuseppeD

sě, ho capito quello che vuoi dire, in effetti mi sembra la soluzione
migliore!!!
Grazie, mi hai fatto riflettere un po'!!!
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
dam...@italiainfiera.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262
---
"Tu devi capire che lei č nuova a queste cose..."
"Bhč, e che cosa ci vuole?"
"Ci vuole, ci vuole, č questione di orizzonti che non č abituata a


 --
Non so se è più efficace (è poco che "uso" VB NET) ma io in un caso simile
ho usato le collezioni di oggetti (System.Collections.CollectionBase) il che
mi permette di eseguire un semplice For Each Next per compilare Listbox o
Combobox o per utilizzarlo all'interno del codice.
Nell'Help c'è un'esempio vedi Procedura dettagliata: Creazione di classi di
insiemi personalizzate
Ciao
VB