أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

FIX: بشكل متقطع حدوث System.ArgumentOutOfRangeException مع ADO.NET

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية836874
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
الأعراض
في تطبيق ADO.NET قد تظهر رسالة خطأ استثناء التالية بشكل متقطع:
System.ArgumentOutOfRangeException: الفهرس خارج النطاق. يجب أن يكون غير سالب وأقل من حجم المجموعة. اسم المعلمة: الفهرس
السبب
تتلقى رسالة الخطأ هذه في حالة إنشاء أو إتلاف الكائنات المتعلقة إلى DataSet (مثل كائن DataView) في معالج أحداث الكائن DataSet أو كائن مقترن كائن DataSet. على سبيل المثال، تم إعادة إنشاؤها هذا الخطأ في تطبيق يحتوي عنصر تحكم شبكة الذي تم إنشاء الكائنات DataView التابعة في معالج أحداث ListChanged للحصول على الشبكة. يسمح هذا الحالة الداخلية كائن DataSet الأساسي لتغيير أثناء عملية حيث أنه يجب أن تظل ثابتة.
الحل
يتوفر الآن إصلاح جديد معتمد من Microsoft ولكن الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. فقط تطبيقه على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير هذه المشكلة كبيرًا، نوصي بالانتظار حتى الإصدار التالي من حزمة الخدمة والذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورًا، اتصل بخدمات دعم المنتجات في Microsoft "للحصول على الإصلاح العاجل. للحصول على قائمة كاملة بأرقام الهاتف الخاصة بخدمات دعم منتج Microsoft وعلى معلومات حول تكاليف الدعم، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة في بعض الحالات، قد يتم إلغاء المصروفات التي تُحتسب عادةً على مكالمات الدعم إذا قرر إخصائي الدعم لدى Microsoft أن تحديثًا معينًا سوف يعمل على حل المشكلة. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا التحديث.يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي coordinated (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في أداة التاريخ والوقت في "لوحة التحكم".
   Date         Time   Version            Size    File name   --------------------------------------------------------------   02-Mar-2004  18:39  1.1.4322.1007   1,294,336  System.data.dll                                             
الحل البديل
عدم إنشاء أو إتلاف الكائنات المتعلقة إلى DataSet (مثل كائن DataView) داخل معالج أحداث الكائن DataSet.
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على" من هذه المقالة.
تعتمد مكدس الاستدعاءات عن هذا الاستثناء على وظيفة التطبيق سبب حدوث الخطأ بالضبط. فيما يلي المثالان التي حدثت عند إنشاء الكائنات DataView التابعة في معالج الأحداث ListChanged لعنصر تحكم:

المثال الهيكل التراكمي للاستدعاءات 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)

المثال الهيكل التراكمي للاستدعاءات 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)

ملاحظة هذه هي أمثلة فقط وهي ليست من الكدسات المكالمة فقط التي قد تحدث مع هذا الخطأ.
مراجع
للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
824684وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
للحصول على معلومات إضافية حول استثناء مشابه يحدث مع إصدار سابق من ADO.NET انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
332215FIX: "System.ArgumentOutOfRangeException: الفهرس خارج النطاق" يحدث الخطأ مع SqlClient.SqlConnection.Open()
ملاحظة تم بالفعل تضمين الإصلاح الخاص مقالة "قاعدة المعارف لـ Microsoft" 332215 في .NET Framework الإصدار 1.1.
indexoutofrangeexception sqlclient

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 836874 - آخر مراجعة: 06/01/2006 09:24:01 - المراجعة: 2.1

Microsoft ADO.NET 1.1

  • kbmt kbhotfixserver kbqfe KB836874 KbMtar
تعليقات