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
Confronto tra dataset
giovedì 24 novembre 2005 - 16.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
gio 24 nov 2005 - 16:17
Ciao a tutti, mi son trovato davanti ad un problemino diciamo di pigrizia,
ho due dataset simili, li voglio mettere a confronto evidenziando le differenze, ovvero quali sono le tabelle mancanti in uno o nell'altro e quando le tabelle corrispondono quali sono le righe delle tabelle stesse che differiscono.
Dicevo un problema di pigrizia, peche volevo sapere se esiste gia qualche bel metodo che fa tutto cio, magari mettendo il risultato in un terzo dataset, altrimenti vabbe rimbocchiamoci le manichine e me la scrivo da me!
Grazie a tutti in anticipo!
Jumpa
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
gio 24 nov 2005 - 16:59
a me hanno consigliato sql compare però a pagamento.
C'è solo un capitano !!!!!!
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
gio 24 nov 2005 - 17:03
>a me hanno consigliato sql compare però a pagamento.
>
>C'è solo un capitano !!!!!!
per 300 dollari la pigrizia me la faccio passa!!!
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 24 nov 2005 - 20:27
In effetti molto banalmente potresti farti un ciclo sui due database utilizzando il metodo getoledbschematable:
Esempio:
Dim dtTable As DataTable = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, _
New Object() {Nothing, Nothing, Nothing, Nothing})
Questo ti restituisce una datatable con i riferimenti di tutti i campi di tutte le tabelle.
Con {Nothing, Nothing, "mytable", Nothing} estrae solo la tabella myTable
Per i dati successivamente credo sia necessario costruire delle query mirate .
Puoi estrarre i singoli dati ordinati e confrontarli nelle due tabelle (una di un database rispetto alla stessa dell'altro).
E' un bell'esercizio.
Se costa solo 300 dollari e lo devi vendere a qualcuno ti consiglio di prendere una cosa già fatta.
Se fosse una cosa mia, verifica della struttura delle tabelle a parte (che credo sia buona cosa realizzare come software "di base"), il resto se "non retribuito" non lo farei proprio.
Non conosco quel software che fa il confronto ma sono pronto a scommettere che in alcuni casi dà risultati errati o non voluti oppure controlla anche cose che non interessano e le segnala come "variate".
Jumpa
Profilo
| Junior Member
176
messaggi | Data Invio:
gio 24 nov 2005 - 22:21
oggi pomerigio mi è venuta una folgorazione.....
non so quant è valida ma mi è piaciuta l'idea... forse perche è la mia ;-))
mi costruisco due funzioncine piuttosto stupide del tipo ( le scrio in modo brutale )
funtion compareDataSet (dsa as dataset, dsb as dataset ) as dataset
dim ds as new dataset
dim t sa datatable
for each t in dsa.datatables
' verifico se t è contenuta in dsb
se t non è connuta in dsb allora la aggiungo in ds
next
end function
chiamando chiesta due funzione due volte invertendo gli argomenti ho come risultato due dataset che contengono cio che manca prima in dsb e poi in dsa
Partendo dall'assunto che se le tabelle esistono allora hanno la stessa struttura
scrivo una cosa analoga anche per il confronto delle righe nei datatables
quindi alla fine della fiera ottengo due dataset ciascuno conteneti cio che manca in a ed in b
faccio un bel merge ( se non sbaglio metodo esistente della classe dataset ) ... ed il gioco è fatto!
che en dite ? un po troppo empirica???
-------------------------
Follow the White Rabbit...
http://www.jumpa.org
-------------------------
atsinformatica
Profilo
| Newbie
1
messaggi | Data Invio:
sab 27 nov 2010 - 01:37
Jumpa,
sicuramente avrai già risolto (sono passati 5 anni) dall'apertura del post... comunque potresti utilizzare (o avresti potuto utilizzare a questo punto) quanto illustrato nel seguente link:
http://msdn.microsoft.com/it-it/library/bb386998.aspx
Non è una presa in giro credimi, è che sto affrontando lo stesso problema: confronto tra dataset/datarow.
Ciao
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 !