FIX: De methode System.Data.Index.CompareRecords genereert een uitzondering System.NullReferenceException wanneer u code gebruiken voor het wijzigen van een record in een gegevenstabel met in een.NET Framework 2.0-toepassing

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 940932 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

Het volgende scenario. In Microsoft.NET Framework 2.0-toepassing, wordt de toepassing een gegevenstabel binden. Vervolgens verwijdert u een kolom uit de tabel. Vervolgens probeert u code wijzigen van een record in deze tabel gebruiken. In dit scenario de System.Data.index.CompareRecords methode genereert een System.NullReferenceException uitzondering.

Dit probleem treedt op als een van de volgende voorwaarden voldaan is:
  • Verwijder een primaire sleutel uit de tabel.
  • U verwijderen een collectie beperking uit de tabel.
  • De AllowDBNull eigenschap voor een kolom ingesteld op 'false' en u deze kolom verwijderen.
  • De Unieke eigenschap voor een kolom ingesteld op 'true' en u deze kolom verwijderen.

Oorzaak

Dit probleem treedt op omdat de interne indexen verwijst naar de kolom verwijderd.

Oplossing

Informatie over hotfixes

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter bedoeld om alleen het probleem dat in dit artikel wordt beschreven. Gelden alleen voor systemen waarop dit specifieke probleem. Deze hotfix wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende.NET Framework 2.0 servicepack waarin deze hotfix.

Dit probleem onmiddellijk contact op met Microsoft Customer Support Services om de hotfix te verkrijgen. Ga naar de volgende Microsoft-website voor een volledige lijst met telefoonnummers van Microsoft Customer Support Services en informatie over ondersteuningskosten:
http://support.Microsoft.com/contactus/?ws=support
Opmerking In speciale gevallen kunnen kosten die normaal verbonden worden geannuleerd als een medewerker van Microsoft bepaalt dat een specifieke update de oplossing van uw probleem. De gebruikelijke ondersteuningskosten gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

Vereisten

Voordat u deze hotfix installeert, moet u hotfix 916002 installeren.Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
916002FIX: Foutbericht bij het gebruik van de SqlClient-klasse in een ADO.NET 2.0-toepassing verbinding maken met een exemplaar van SQL Server 2005: 'nieuwe aanvraag is niet toegestaan omdat moet komen met geldige transactie descriptor'

Opnieuw opstarten

U moet de computer opnieuw opstarten nadat u deze hotfix toepast.

Vervanging van hotfixes

Deze hotfix vervangt geen andere hotfixes.

Bestandsgegevens

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Het verschil tussen UTC en lokale tijd, gebruikt u de Tijdzone tabblad in de Datum en tijd item in het Configuratiescherm.
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Mscordacwks.dll2.0.50727.916802,30404 Aug 200703: 28x 86
Mscorjit.dll2.0.50727.916326,65604 Aug 200703: 28x 86
Mscorlib.dll2.0.50727.9164,308,99204 Aug 200703: 28x 86
Mscorpe.dll2.0.50727.916102,91204 Aug 200703: 28x 86
MSCORWKS.dll2.0.50727.9165,634,56004 Aug 200703: 28x 86
Normalization.dll2.0.50727.91615,36004 Aug 200703: 28x 86
Peverify.dll2.0.50727.916136,19204 Aug 200703: 28x 86
Sos.dll2.0.50727.916382,46404 Aug 200703: 28x 86
System.Data.dll2.0.50727.9162,903,04004 Aug 200703: 28x 86

Workaround

Dit probleem omzeilen door een nieuwe gegevenstabel te maken.

Status

Microsoft heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.

Meer informatie

Nadat u deze hotfix hebt toegepast, kunt u een kolom niet verwijderen wanneer een DataView.RowFilter eigenschap of een DataView.Sort eigenschap verwijst naar de kolom.

Voor meer informatie over de System.NullReferenceException uitzondering, Ga naar de volgende Microsoft-website:
http://msdn2.Microsoft.com/en-us/library/System.NullReferenceException (vs.80) .aspx
Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over terminologie voor software-update:
824684 Beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven

Informatie over de call-stack

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)

Eigenschappen

Artikel ID: 940932 - Laatste beoordeling: maandag 16 mei 2011 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft .NET Framework 2.0
Trefwoorden: 
kbexpertiseadvanced kbfix kbqfe kbmt KB940932 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:940932

Geef ons feedback

 

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