Porovnání dvou tabulek v datasetu   otázka

VB.NET, ADO.NET, Databáze

Zdravím,

potřeboval bych porovnat 2 tabulky v jednom datasetu, jedná je o WinForm aplikaci. Data tahám z SQL. Obě tabulky mají stejné schéma, jedná se vlastně o porovnání, zda v odpojené verzi jsou stejná data, v případě, že ne, potřebuji vytáhnout data, která jsou v nové verzi změněná - přidaný záznam nebo změněný status staré zprávy apod. To by měl v pravidelném intervalu zajišťovat timer. Nevíte jak na to?

Děkuji M.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud tabulky nejdou porovnávat pomocí nějaké metody nebo operátoru Is nebo =, připadá mi, že budete muset tabulku projet:

For Each r As DataRow In ds.Tables(0).Rows
    Porovnej(r)
Next r

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pokud je to MSSQL, tak by se dal přidat update trigger, který by při aktualizaci řádku "něco nějak někam" zapsal. Pak by stačilo to srovnat, to by bylo určitě rychlejší než porovnávat dataset řádek po řádku, sloupec po sloupci.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ono taky záleží na tom kolik je v tabulkách záznamů, kolik mají tabulky sloupců atd. Podle toho bych volil způsob, jakým budu data porovnávat.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za nápad, určitě to zkusím, asi doopravdy lepší než porovnávat cca 200 záznamů řádek po řádku :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback