ExecuteXmlReader و Resultset الفارغة يلقيان TargetInvocationException
-
03-07-2019 - |
سؤال
أقوم باستدعاء إجراء مخزن في قاعدة بيانات SQL Server 2005 والذي يقوم بإرجاع مجموعة نتائج XML.في بعض الأحيان سيُرجع مجموعة نتائج فارغة لأنه لا توجد صفوف لإرجاعها.عندما يحدث هذا، تقوم طريقة ExecuteXmlReader بطرح TargetInvocationException.يبدو أن هذه مشكلة معروفة (راجع: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/).
ما هي أفضل طريقة للتعامل مع هذا الاستثناء؟
المحلول
أستطيع أن أفكر في 3 خيارات
- يُعدِّل الإجراء المخزن لإرجاع قيمة وهمية/فارغة
- يُعدِّل شفرة - اكتشاف الاستثناء وعدم القيام بأي شيء - أو حدوث خطأ في السجل
- يستخدم DataSet - يجب أن تحصل على DataSet فارغة، لذا تحقق فقط مما إذا كانت DataSet فارغة أم لا.
كمنشور SO ذي صلة بالاختيار الثالث، إليك سؤال SO حول كيفية التحقق مما إذا كانت DataSet فارغة أم لا
في C#، ما هي أفضل طريقة لاختبار ما إذا كانت مجموعة البيانات فارغة؟
لا تنتمي إلى StackOverflow