في عملية العمل مع قواعد البيانات في بيثون ، وخاصة باستخدام مكتبة بسيكوبغ2 ، وهناك عدد من الأخطاء التي المطورين للتعامل معها. واحد من هذا الخطأ هو "بسيكوبغ2 برمجينجيرور أي نتائج لجلب". عند إجراء استعلامات إلى قاعدة البيانات ، قد يكون هناك موقف لا يعرض فيه الاستعلام أي نتائج. في هذه الحالة ، يلقي بسيكوبج 2 استثناء "برمجينجيرور" والتقارير التي لا توجد نتائج لتلقي.
إذا واجهت مثل هذا الخطأ ، فهناك عدة أسباب محتملة. من الممكن أن يقوم الاستعلام الذي تقوم بتشغيله بإرجاع مجموعة فارغة من النتائج. في هذه الحالة ، يجب عليك التحقق من الاستعلام نفسه والتأكد من وجود بيانات في قاعدة البيانات تتطابق مع الاستعلام الخاص بك.
سبب آخر محتمل قد يكون استخدام طريقة خاطئة للحصول على النتائج. بسيكوبغ2 لديه عدة طرق للحصول على النتائج ، مثل "فيتشكون" ، "فيتشماني" و "فيتشال". إذا كنت تستخدم طريقة خاطئة ، فقد يحدث الخطأ "لا توجد نتائج لجلب". في هذه الحالة ، يجب عليك التحقق من الطريقة التي تستخدمها وتغييرها إلى الطريقة الصحيحة.
إذا كنت لا تزال تحصل على الخطأ" بسيكوبغ2 برمجينجيرور أي نتائج لجلب " ، ثم قد تكون هناك مشكلة في مكتبة بسيكوبغ2 نفسها. في هذه الحالة ، يجب عليك تحديث بسيكوبج 2 إلى أحدث إصدار أو استخدام مكتبة أخرى للعمل مع قواعد البيانات في بيثون.
- فهم الخطأ
- التحقق من اتصال قاعدة البيانات
- التحقق من استعلام سكل
- التعامل مع استثناء" لا توجد نتائج لجلب"
- تغيير الطلب لمنع حدوث خطأ
- الخطأ "لا توجد نتائج لجلب" في لغات البرمجة الأخرى
فهم الخطأ
الخطأ" لا توجد نتائج لجلب " يحدث عند استخدام وحدة بسيكوبج 2 في لغة البرمجة بيثون. يحدث هذا الخطأ عند محاولة استرداد البيانات من قاعدة البيانات باستخدام أمر الجلب ، ولكن لا توجد نتائج استعلام.
لفهم السبب بشكل أفضل وتصحيح هذا الخطأ ، تحتاج إلى مراعاة ما يلي:
- استعلام غير صحيح: تحقق من صحة كتابة استعلام سكل. قد يحتوي الطلب على خطأ يؤدي إلى نتائج مفقودة.
- البيانات المفقودة في قاعدة البيانات: تأكد من أن قاعدة البيانات التي تعمل معها تحتوي على بيانات تفي بشروط الطلب. إذا لم تكن هناك بيانات ، فلا يوجد شيء لاستخراجه.
- العمل مع الجدول الخطأ: تأكد من أنك تعمل مع الجدول الصحيح في قاعدة البيانات. من الممكن أن يكون الجدول الذي تحاول الحصول على بيانات منه مفقودا أو له اسم مختلف.
- لا يوجد اتصال بقاعدة البيانات: قبل إجراء عمليات قاعدة البيانات ، تأكد من أن لديك اتصال قاعدة بيانات نشط. خلاف ذلك ، لن يتم تنفيذ الطلبات وستتلقى الخطأ "لا توجد نتائج لجلب".
إذا كنت متأكدا من صحة الاستعلام وأن البيانات موجودة في قاعدة البيانات ، ولكنك لا تزال تحصل على الخطأ "لا توجد نتائج لجلبها" ، فربما تم حذف البيانات أو تغييرها بواسطة مستخدمين آخرين بعد تنفيذ الاستعلام. في هذه الحالة ، قم بتحديث البيانات أو قم بتصحيح الطلب للحصول على أحدث المعلومات.
فهم سبب الخطأ" لا توجد نتائج لجلب " يسمح لك لتصحيح وإصلاح المشاكل بشكل أكثر كفاءة باستخدام وحدة بسيكوبغ 2 في بيثون.
التحقق من اتصال قاعدة البيانات
يعد التحقق من اتصال قاعدة البيانات مهمة مهمة للعديد من تطبيقات البيانات. إذا كنت تستخدم مكتبة بسيكوبج 2 للعمل مع كيو ، يمكنك تنفيذ التسلسل التالي من الإجراءات للتحقق من الاتصال:
- استيراد الوحدات اللازمة
- نظام الاستيراد
- اتصال = بسيكوبج2.الاتصال (المستخدم= "ميوزر",
للعمل مع بسيكوبغ 2 وإنشاء اتصال إلى قاعدة البيانات ، تحتاج إلى استيراد الوحدات المناسبة:
استيراد بسيكوبج 2باستخدام بسيكوبج2.الاتصال () وظيفة
. يتم تمرير معلمات اتصال قاعدة البيانات إلى الوظيفة: اسم المستخدم وكلمة المرور والمضيف واسم قاعدة البيانات.
نموذج التعليمات البرمجية لإنشاء اتصال:حاول:
باستثناء سايكوبج2.خطأ مثل ه:
طباعة (و " خطأ في الاتصال: {ه}")
سيس.خروج (1)في حالة حدوث خطأ أثناء إنشاء الاتصال ، يتم عرض رسالة تحتوي على وصف خطأ ، وينتهي البرنامج بالرمز 1.
التحقق من الاتصال
للتحقق من الاتصال بقاعدة البيانات ، يمكنك تشغيل استعلام سكل بسيط باستخدام الطريقة
تنفيذ()
من كائن الاتصال. في هذه الحالة ، يجب أن يكون تنفيذ الطلب ملفوفا في كتلة
حاول-باستثناء
- للقبض على الاستثناءات المحتملة.
- نموذج التعليمات البرمجية للتحقق من الاتصال:
حاول:
# تنفيذ استعلام سكل
المؤشر.تنفيذ ("حدد الإصدار()")
# الحصول على نتيجة الاستعلام
النتيجة = المؤشر.الجلب ()
طباعة (و " تم تأسيس الاتصال بنجاح. إصدار كيو: {نتيجة[0]}")
باستثناء سايكوبج2.خطأ مثل ه:
طباعة (و " خطأ في تنفيذ الاستعلام: {هـ}")
عند العمل مع قواعد البيانات ، غالبا ما يكون من الضروري تشغيل استعلامات سكل للحصول على المعلومات اللازمة أو تحديث البيانات. ومع ذلك ، في عملية التشغيل ، قد ينشأ موقف عندما لا يقوم الاستعلام بإرجاع النتائج.
لا توجد نتائج للتحديد تعني أن الاستعلام قد اكتمل بنجاح ، ولكن قاعدة البيانات لا تحتوي على بيانات مطابقة لحالة الاستعلام. يمكن أن يحدث هذا ، على سبيل المثال ، عندما لا تكون هناك سجلات في الجدول تفي بالشرط أو لا يقوم منتج الجداول بإرجاع أي شيء.
للتحقق من أن استعلام سكل لم يعرض النتائج ، يمكنك استخدام النهج التالي:
تنفيذ استعلام سكل باستخدام الطريقة المناسبة للمكتبة للعمل مع قواعد البيانات في بيثون. على سبيل المثال ، عند العمل مع مكتبة بسيكوبج 2 ، تحتاج إلى استدعاء طريقة تنفيذ() على كائن المؤشر.
تحقق من أن الاستعلام لم يعرض أي نتائج. للقيام بذلك ، يمكنك التحقق من حجم النتيجة. إذا كان الحجم صفرا ، فلا توجد نتائج.
نموذج رمز بايثون باستخدام مكتبة بسيكوبج 2:
استيراد بسيكوبج 2- # الاتصال بقاعدة البيانات
كون = سايكوبج2.الاتصال (دبنام= 'بلدي البيانات' ، المستخدم= 'بلدي المستخدم' ، كلمة المرور= 'بلدي كلمة المرور')# إنشاء المؤشر
- كور = كون.المؤشر()
# تنفيذ استعلام سكل- كور.تنفيذ ("حدد * من جدولي حيث الشرط")
# التحقق من النتائجالنتيجة = كور.فيتشال()
إذا لين (نتيجة) = = 0:
طباعة ("لا توجد نتائج للاختيار")
# إغلاق اتصال المؤشر وقاعدة البيانات
- كور.إغلاق()
- كون.إغلاق()
- التحقق من النتائج المفقودة بعد تنفيذ استعلام سكل سيساعد على تجنب الأخطاء عند معالجة نتيجة فارغة.
- يمكنك أيضا استخدام أساليب أخرى للعمل مع نتائج استعلامات سكل التي تقدمها المكتبات للعمل مع قواعد البيانات في بيثون للتحقق من النتائج وتنفيذ الإجراءات المناسبة اعتمادا على الوضع.
- التعامل مع استثناء" لا توجد نتائج لجلب"
في بعض الأحيان ، عند استخدام مكتبة بسيكوبغ2 للعمل مع بوستغريزل في بيثون ، الخطأ "بسيكوبغ2 برمجينجيرور: لا توجد نتائج لجلب" يحدث ، مما يدل على أنه لا توجد نتائج لاستخراج من الاستعلام.