Update: System.ArgumentOutOfRangeException tritt zeitweise bei ADO.NET

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

Problembeschreibung

In einer ADO.NET-Anwendung wird möglicherweise die folgende Ausnahme Fehlermeldung zeitweise angezeigt:
System.ArgumentOutOfRangeException: Index war außerhalb des Bereichs. Der Index darf keine negative Zahl sein und muss kleiner als die Auflistungsgröße sein. Parametername: Index

Ursache

Sie erhalten dieses Fehlermeldung, wenn erstellen oder DataSet-bezogenen Objekte (z. B. ein DataView -Objekt) in einen Ereignishandler für ein DataSet -Objekt oder ein Objekt zerstören, ein DataSet -Objekt zugeordnet ist. Beispielsweise wurde dieser Fehler reproduziert, in einer Anwendung eingefügt, die ein Rastersteuerelement enthalten, die untergeordnete DataView -Objekte in einen ListChanged -Ereignishandler für das Datenblatt erstellt wurde. Dadurch wird den internen Zustand des das zugrunde liegende DataSet -Objekt während eines Vorgangs ändern, wo es statisch bleiben soll.

Lösung

Ein Hotfix zur Behebung dieses Problems ist inzwischen bei Microsoft erhältlich; dieser Hotfix wurde jedoch ausschließlich zur Behebung des in diesem Artikel beschriebenen Problems entwickelt. Deshalb sollten Sie nur Systeme aktualisieren, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird unter Umständen zu einem späteren Zeitpunkt weiteren Tests unterzogen. Wenn Sie durch dieses Problem nicht schwerwiegend betroffen sind, empfiehlt Microsoft daher, auf das nächste Servicepack warten, das diesen Hotfix enthält wird.

Wenn Sie das Problem sofort beheben möchten, wenden Sie sich an Microsoft Product Support Services, um den Hotfix zu erhalten. Eine vollständige Liste mit Telefonnummern der Microsoft-Produktsupport und Informationen Supportkosten der folgenden Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support
Hinweis: PLEASE DO NOT TRANSLATE and DELETE THIS PASSAGE. IT DOES NOT APPLY TO GERMANY.Die englische Version dieses Hotfixes weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Die Datums- und Uhrzeitangaben für diese Dateien werden in Coordinated Universal Time () angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   02-Mar-2004  18:39  1.1.4322.1007   1,294,336  System.data.dll                                             

Abhilfe

Erstellen oder Zerstören von DataSet-bezogenen Objekte (z. B. ein DataView -Objekt) innerhalb eines Ereignishandlers für ein DataSet -Objekt.

Status

Microsoft hat bestätigt, dass dies ein Problem in den Microsoft-Produkten ist, die im Abschnitt "Gilt für" dieses Artikels aufgeführt sind.
Die Aufrufliste für diese Ausnahme hängt von der Funktionalität der Anwendung und die genaue Ursache des Fehlers ab. Im folgenden werden zwei Beispiele, die aufgetreten sind, wenn untergeordnete DataView -Objekte im ListChanged -Ereignishandler für ein Steuerelement erstellt werden:

Aufrufliste Beispiel 1

System.Collections.ArrayList.get_Item(Int32 index)
Sstem.Data.DataTable.RecordStateChanged(Int32 record1, DataViewRowState oldState1, DataViewRowState newState1, Int32 record2, DataViewRowState oldState2, DataViewRowState newState2)
System.Data.DataTable.SetNewRecord(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge)
System.Data.DataRow.EndEdit()
System.Data.DataRow.set_Item(DataColumn column, Object value)
System.Data.DataRow.set_Item(String columnName, Object value)

Aufrufliste Beispiel 2

System.Collections.ArrayList.get_Item(Int32 index)
System.Data.DataTable.ResetIndexes()
System.Data.Merger.MergeTable(DataTable src, DataTable dst)
System.Data.Merger.MergeTableData(DataTable src)
System.Data.Merger.MergeDataSet(DataSet source)
System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction)

Hinweis: Diese sind nur Beispiele und nicht nur Aufruflisten, die mit diesem Fehler auftreten.

Informationsquellen

Weitere Informationen finden Sie die folgende KB-Artikelnummer:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates
Weitere Informationen über eine ähnliche Ausnahme, die mit einer früheren Version von ADO.NET auftritt, finden Sie die folgende KB-Artikelnummer:
332215Update: "System.ArgumentOutOfRangeException: Index war außerhalb des Bereichs" Fehler tritt bei SqlClient.SqlConnection.Open()
Hinweis: Die Fehlerbehebung für im Microsoft Knowledge Base-Artikel 332215 ist bereits in .NET Framework, Version 1.1 enthalten.

Eigenschaften

Artikel-ID: 836874 - Geändert am: Donnerstag, 1. Juni 2006 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ADO.NET 1.1
Keywords: 
kbmt kbhotfixserver kbqfe KB836874 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: 836874
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.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

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