Update: Die System.Data.Index.CompareRecords-Methode generiert eine System.NullReferenceException-Ausnahme, wenn Sie versuchen, Code zu verwenden, Ändern eines Datensatzes in einer Datentabelle in einer.NET Framework 2.0 basierenden Anwendung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 940932 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Betrachten Sie das folgende Szenario. In einer Microsoft.NET Framework 2.0 basierende Anwendung, binden Sie die Anwendung an eine Datentabelle. Als Nächstes entfernen Sie eine Spalte aus der Datentabelle. Anschließend versuchen Sie Code verwenden, um einen Datensatz in dieser Tabelle ändern. In diesem Szenario die System.Data.Index.CompareRecords -Methode generiert einen System.NullReferenceException Ausnahme.

Dieses Problem tritt auf, wenn eine der folgenden Bedingungen erfüllt ist:
  • Entfernen Sie einen Primärschlüssel aus der Datentabelle.
  • Eine Einschränkungsauflistung der entfernt aus der Datentabelle.
  • Die AllowDBNull Eigenschaft für eine Spalte auf "False" festgelegt ist, und Sie diese Spalte entfernt werden.
  • Die Eindeutige Eigenschaft für eine Spalte wird festgelegt, auf "true" sein, und Sie diese Spalte entfernt werden.

Ursache

Dieses Problem tritt auf, weil interne Indizes auf die Spalte verweisen, die entfernt wurde.

Lösung

Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft. Es soll jedoch nur das Problem zu beheben, das in diesem Artikel beschrieben wird. Deshalb sollten Sie nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft daher, auf das nächste.NET Framework 2.0 Servicepack, das diesen Hotfix enthält.

Um dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Microsoft Customer Support Services-Telefonnummern und Informationen über Supportkosten finden Sie auf die folgende Microsoft-Website:
http://Support.Microsoft.com/contactus/?WS=Support
Hinweis In besonderen Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen storniert werden, wenn der Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem beheben kann. Die normalen Supportkosten gelten für zusätzliche Supportfragen und Probleme, die für das betreffende Update berechtigt.

Voraussetzungen

Sie müssen den Hotfix 916002 installieren, bevor Sie diesen Hotfix installieren.Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
916002Update: Fehlermeldung beim Versuch, verwenden Sie die SqlClient-Klasse in einer ADO.NET 2.0-basierte Anwendung für die Verbindung zu einer Instanz von SQL Server 2005: "neue Anforderung darf nicht gestartet werden, da es mit gültigen Transaktionsdeskriptor aufweisen sollte"

Neustartanforderung

Sie müssen den Computer neu starten, nachdem Sie diesen Hotfix anwenden.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time (UTC) aufgeführt. Wenn Sie die Dateiinformationen anzeigen, wird es in die Ortszeit konvertiert. Um die Differenz zwischen UTC-Zeit und lokaler Zeit zu ermitteln, verwenden Sie die Zeitzone auf der Registerkarte die Datum und Uhrzeit Element in der Systemsteuerung.
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumZeitPlattform
Mscordacwks.dll verweisen2.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.dll"2.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

Abhilfe

Um dieses Problem zu umgehen, erstellen Sie eine neue Datentabelle.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Beziehen sich auf" aufgeführt sind.

Weitere Informationen

Nachdem Sie diesen Hotfix angewendet haben, nicht möglich, entfernen Sie eine Spalte bei einem DataView.RowFilter Eigenschaft oder ein DataView.Sort Eigenschaft verweist auf die Spalte.

Weitere Informationen zu den System.NullReferenceException Ausnahme, finden Sie auf die folgende Microsoft-Website:
http://msdn2.Microsoft.com/en-us/library/System.NullReferenceException (vs.80) (.aspx)
Weitere Informationen zur Terminologie für Softwareupdates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Softwareupdates von Microsoft verwendet wird

Aufruflisteninformationen

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)

Eigenschaften

Artikel-ID: 940932 - Geändert am: Samstag, 28. Mai 2011 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft .NET Framework 2.0
Keywords: 
kbexpertiseadvanced kbfix kbqfe kbmt KB940932 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 940932
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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