Sdílet prostřednictvím


System.Data.DataSet – třída

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Třída DataSet , která je mezipamětí dat načtených ze zdroje dat, je hlavní součástí architektury ADO.NET. Skládá DataSet se z kolekce DataTable objektů, které můžete vzájemně propojit s DataRelation objekty. Integritu DataSet dat můžete také vynutit pomocí UniqueConstraint objektů a ForeignKeyConstraint objektů. Další podrobnosti o práci s DataSet objekty naleznete v tématu DataSets, DataTables a DataViews.

Zatímco DataTable objekty obsahují data, DataRelationCollection umožňuje procházet hierarchii tabulek. K tabulkám se přistupuje prostřednictvím vlastnosti DataTableCollectionTables. Při přístupu k DataTable objektům si uvědomte, že mají podmíněnou citlivost na velikost písmen. Pokud má například jeden DataTable název "mydatatable" a druhý má název "Mydatatable", pak se řetězec použitý k vyhledání jedné z tabulek považuje za rozlišující velká a malá písmena. Pokud však "mydatatable" existuje a "Mydatatable" ne, je hledaný řetězec považován za nerozlišující velká a malá písmena. Další informace o práci s DataTable objekty naleznete v tématu Vytvoření datové tabulky.

A DataSet může číst a zapisovat data a schéma jako dokumenty XML. Data a schéma je pak možné přenášet přes protokol HTTP a používat ho libovolná aplikace na libovolné platformě s povoleným kódem XML. Schéma můžete uložit jako schéma XML s metodou WriteXmlSchema a pomocí metody lze uložit WriteXml schéma i data. Ke čtení dokumentu XML, který obsahuje schéma i data, použijte metodu ReadXml .

V typické implementaci s více vrstvami jsou kroky pro vytvoření a obnovu DataSet a následnou aktualizaci původních dat:

  1. Sestavte a vyplňte každý DataTable v DataSet pomocí dat ze zdroje dat použitím DataAdapter.

  2. Data v jednotlivých DataTable objektech můžete změnit přidáním, aktualizací nebo odstraněním DataRow objektů.

  3. Vyvolejte metodu GetChanges, abyste vytvořili druhý DataSet, který obsahuje pouze změny v datech.

  4. Zavolejte metodu Update z DataAdapter, a jako argument předejte druhé DataSet.

  5. Vyvoláte metodu Merge pro sloučení změn z druhého DataSet do prvního.

  6. Vyvolejte AcceptChanges na DataSet. Alternativně vyvolejte RejectChanges pro zrušení změn.

Poznámka:

Objekty DataSet a DataTable dědí z MarshalByValueComponent objektu a podporují ISerializable rozhraní pro vzdálenou komunikaci. Jedná se o jediné ADO.NET objekty, které je možné použít vzdáleně.

Poznámka:

Třídy zděděné z DataSet nejsou finalizovány správcem paměti, protože finalizátor byl potlačen v DataSet. Odvozená třída může volat metodu ReRegisterForFinalize ve svém konstruktoru, aby mohla být třída finalizována garbage kolektorem.

Bezpečnostní aspekty

Informace o zabezpečení DataSet a DataTable najdete v bezpečnostních pokynech.