Oprava: Metoda System.Data.Index.CompareRecords generuje výjimku System.NullReferenceException při pokusu použít kód upravit záznam v tabulce dat.NET Framework 2.0 založená

Překlady článku Překlady článku
ID článku: 940932 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Zvažte následující scénář. V aplikaci.NET Framework 2.0 založená, vázat k tabulce dat aplikace. Dále odebrání sloupce z tabulky dat. Potom zkuste použít kód upravit záznam v této tabulce data. V tomto scénáři System.data.index.CompareRecords metoda generuje System.NullReferenceException výjimka.

K tomuto problému dochází, pokud platí jedna z následujících podmínek:
  • Můžete odstranit primární klíč z tabulky dat.
  • Je z tabulky dat odebrat kolekci omezení.
  • Na AllowDBNull Vlastnost sloupce je nastavena na hodnotu "false" a odebrat tento sloupec.
  • Na Jedinečný Vlastnost sloupce je nastavena na hodnotu "true" a tento sloupec odebrat.

Příčina

Tomuto problému dochází, protože vnitřní indexy odkaz na sloupec, který byl odebrán.

Řešení

Informace o opravě hotfix

Podporovaná oprava hotfix je k dispozici od společnosti Microsoft. Je však určena pouze problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud není přísně tento problém, doporučujeme počkat na další.NET Framework 2.0 service pack, která bude tuto opravu hotfix obsahovat.

Chcete-li odstranit tento problém okamžitě, obraťte se na technickou podporu společnosti Microsoft, kde získat opravu hotfix. Úplný seznam telefonních čísel služeb technické podpory společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=support
Poznámka: Ve zvláštních případech mohou být stornovány poplatky za podpory účtovány, pokud pracovník technické podpory společnosti Microsoft zjistí, že konkrétní aktualizace vyřeší váš problém. Výdaje na technickou podporu se bude u dalších otázek a problémů, které nemohou být zařazeny v dané konkrétní aktualizaci.

Požadavky

Před instalací této opravy hotfix je nutné nainstalovat opravu hotfix 916002.Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
916002Oprava: Chybová zpráva při pokusu o použití třídy SqlClient v objekty ADO.NET 2.0 založená na připojení k instanci serveru SQL Server 2005: "nový požadavek nelze spustit, protože by součástí popisovače platné transakce"

Požadavek na restartování

Po instalaci této opravy hotfix, je nutné restartovat počítač.

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné další opravy hotfix.

Informace o souboru

Anglická verze této opravy hotfix má atributy souborů (nebo novější), jsou uvedeny v následující tabulce. Data a časy jednotlivých souborů jsou uvedeny v koordinovaný světový čas (UTC). Při zobrazení informací o souboru, je převeden na místní čas. Pomocí vyhledat rozdíl mezi místním časem a časem UTC naleznete Časové pásmo karty v Datum a čas Chcete-li zobrazit položky v Ovládacích panelech.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruVerze souboruVelikost souboruDatumČasPlatforma
Souboru Mscordacwks.dll2.0.50727.916802,30404. Srpna 200703: 28x 86
Mscorjit.dll2.0.50727.916326,65604. Srpna 200703: 28x 86
Mscorlib.dll2.0.50727.9164,308,99204. Srpna 200703: 28x 86
Mscorpe.dll2.0.50727.916102,91204. Srpna 200703: 28x 86
Mscorwks.dll2.0.50727.9165,634,56004. Srpna 200703: 28x 86
Normalization.dll2.0.50727.91615,36004. Srpna 200703: 28x 86
Peverify.dll2.0.50727.916136,19204. Srpna 200703: 28x 86
Sos.dll2.0.50727.916382,46404. Srpna 200703: 28x 86
System.data.dll2.0.50727.9162,903,04004. Srpna 200703: 28x 86

Jak potíže obejít

Chcete-li tento problém vyřešit, vytvořte novou tabulku dat.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Další informace

Po instalaci této opravy hotfix nelze odebrat sloupec, když DataView.RowFilter Vlastnost nebo DataView.Sort Vlastnost odkazuje tento sloupec.

Další informace o System.NullReferenceException výjimka, navštivte následující web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/System.NullReferenceException (vs.80) .aspx
Další informace o terminologii aktualizace softwaru klepněte na následující číslo článku databáze Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Informace v zásobníku volání

07d0e4b8 09195ccd System.Data.Index.CompareRecords(Int32, Int32)
07d0e4d8 09195c7a System.Data.Index+IndexTree.CompareNode(Int32, Int32)
07d0e4e4 0ff93c0e System.Data.RBTree`1[[System.Int32, mscorlib]].SearchSubTree(Int32, Int32)
07d0e4fc 0ff940e8 System.Data.RBTree`1[[System.Int32, mscorlib]].GetNodeByKey(Int32)
07d0e514 0ff93ee9 System.Data.Index.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e548 09193e97 System.Data.DataTable.RecordStateChanged(Int32, System.Data.DataViewRowState, System.Data.DataViewRowState, Int32, System.Data.DataViewRowState, System.Data.DataViewRowState)
07d0e598 09191fb7 System.Data.DataTable.SetNewRecordWorker(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Int32, Boolean, System.Exception ByRef)
07d0e648 0ff93e29 System.Data.DataTable.SetNewRecord(System.Data.DataRow, Int32, System.Data.DataRowAction, Boolean, Boolean)
07d0e664 09191485 System.Data.DataRow.EndEdit()
07d0e690 0955c905 System.Data.DataRow.set_Item(System.Data.DataColumn, System.Object)
07d0e6cc 0ff9e55a System.Data.DataRow.set_Item(Int32, System.Object)

Vlastnosti

ID článku: 940932 - Poslední aktualizace: 28. května 2011 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 2.0
Klíčová slova: 
kbexpertiseadvanced kbfix kbqfe kbmt KB940932 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:940932

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com