DataTable vs datové sadě

hlasů
104

I v současné době používají DataTable získat výsledky z databáze, které mohu použít v mém kódu.

Nicméně, mnoho příklad na webové pořadu pomocí DataSet místo a přistupuje tabulku (y) pomocí metody sbírek.

Je nějaká výhoda, výkon moudrý nebo jinak za použití údajů nebo DataTables jako způsob skladování výsledků SQL?

Položena 05/08/2008 v 14:07
zdroj uživatelem
V jiných jazycích...                            


7 odpovědí

hlasů
6

V 1.x bývaly věci DataTables nemohl dělat, které by mohly DataSets (nepamatuji, co přesně). Jediné, co se změnilo v 2.x. Můj odhad je, že je důvod, proč mnoho příkladů stále používat DataSet. DataTables by měla být rychlejší, protože jsou lehké. Pokud jste jen tahání jeden výsledný soubor, jeho nejlepší volba mezi těmito dvěma.

Odpovězeno 05/08/2008 v 14:10
zdroj uživatelem

hlasů
82

To opravdu záleží na druhu dat budete dobývat. Vzhledem k tomu, DataSet je (ve skutečnosti) jen sbírka objekty DataTable, můžete se vrátit několik různých souborů dat do jednoho, a proto lépe zvládnutelné, objekt.

Výkon-moudrý, máte větší šanci dostat neefektivitu z neoptimalizovaných dotazů než od „špatného“ volbou .NET konstruktu. Alespoň, že je to moje zkušenost.

Odpovězeno 05/08/2008 v 14:12
zdroj uživatelem

hlasů
5

Jednou z vlastností DataSet je, že pokud můžete volat více příkazů SELECT v uložených procedur, DataSet bude mít jednu DataTable pro každého.

Odpovězeno 05/08/2008 v 14:15
zdroj uživatelem

hlasů
3

Tam jsou některé optimalizace můžete použít při obsazování DataTable, jako je volání BeginLoadData (), vkládání dat, pak volá EndLoadData (). To vypne některé interní jednání v rámci DataTable, jako je údržba indexu apod viz tento článek pro další podrobnosti.

Odpovězeno 14/09/2008 v 03:55
zdroj uživatelem

hlasů
19

Jeden podstatný rozdíl je, že DataSets pojme více tabulek a můžete definovat vztahy mezi těmito tabulkami.

Vracíte-li pouze jednu sadu výsledků i když bych si, že DataTable bude více optimalizovány. Řekla bych, že tam musí být nějaký režijní (uděleno malý) nabídnout funkce DataSet dělá a sledovat více DataTables.

Odpovězeno 14/09/2008 v 04:07
zdroj uživatelem

hlasů
0

Když jste obchoduje pouze s jedinou tabulkou stejně, největší praktický rozdíl Zjistil jsem, že DataSet má „HasChanges“ metodu, ale DataTable není. Oba mají „GetChanges“ Nicméně, takže můžete použít, že i test na null.

Odpovězeno 05/12/2016 v 15:50
zdroj uživatelem

hlasů
0

DataTable Objekt představuje tabulkových dat jako v paměti, tabulky mezipaměti řádků, sloupců a omezení. DataSet se skládá z kolekce objekty DataTable, které se mohou týkat navzájem DataRelation objekty.

Odpovězeno 30/08/2019 v 03:45
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more