يجب توصيل جزء كبير من برنامج التعلم بقاعدة البيانات للتشغيل. هنا هو الخطأ. لا يمكن لمحرر قناة التكنولوجيا الجديدة إرجاع السجل المحدد في عملية التخزين باستخدام OLEDB. سوف يذهب الأصدقاء المهتمين إلى المقالة التالية لمعرفة المزيد!
لماذا لا يمكن إرجاع مجموعة التسجيلات في طريقة OLEDB في الإجراءات المخزنة؟
لقد كتبت ذات مرة برنامجًا يعمل على الجداول المؤقتة (الوظيفة الرئيسية هي استرداد أفضل 10 سجلات لكل فئة).
يكون هذا الإجراء المخزن طبيعيًا عند الاتصال بقاعدة البيانات باستخدام ODBC ، ويمكنه الحصول على النتائج الصحيحة. ومع ذلك ، عند الاتصال باستخدام طريقة OLEDB ، لا يمكن إرجاع مجموعة السجلات ، وتظهر رسالة خطأ عندما تعود العملية إلى مجموعة السجلات:
Adodb.Recordset Error '800a0e78'
لا يُسمح بالعملية المطلوبة من قبل التطبيق إذا تم إغلاق الكائن.
جعلني في حيرة. لماذا هذا؟
هذا لأن هناك فرقًا بين OLEDB و ODBC ، أي عندما يجلب ASP مجموعة سجل من ODBC ، يقوم ODBC بتصفية جدول الإنشاء
أو إدراج في بعض مجموعة السجلات التي تشغل فقط موضعًا ولكن لا يمكنها إجراء أي عملية. عندما يجلب ASP السجل الذي تم تعيينه على OLEDB و OLEDB و OLEDB
لا يتم تصفية مجموعات السجلات هذه. لذلك ، يجب علينا تنفيذ مجموعة nocount قبل أن لا نرغب في إرجاع السجل المحدد في الإجراء المخزن.
يُمنع الإجراء المخزن من إعادة مجموعة السجلات ؛ وعند إرجاع مجموعة السجلات ، يجب عليك أولاً تنفيذ Set Nocount Off. بهذه الطريقة ، سيتم حل المشكلة.
محرر 文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文 �