"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يؤدي استبدال معلمة SQLite إلى حدوث أخطاء ملزمة في Python؟

هل يؤدي استبدال معلمة SQLite إلى حدوث أخطاء ملزمة في Python؟

تم النشر بتاريخ 2024-11-08
تصفح:457

Is SQLite Parameter Substitution Causing Binding Errors in Python?

مشكلة استبدال معلمات SQLite

عند استخدام SQLite3 مع Python 2.5، تنشأ مشكلة شائعة عند محاولة التكرار من خلال قائمة واسترداد البيانات من قاعدة بيانات. باستخدام المقترح "؟" غالبًا ما تؤدي المعلمة كإجراء احترازي لحقن SQL إلى حدوث خطأ فيما يتعلق بعدد الارتباطات.

بعد التحقيق، يصبح من الواضح أن الخطأ ينبع من الإنشاء الأولي لجدول قاعدة البيانات. بيان الإنشاء، مثل:

CREATE TABLE Equipment (id INTEGER PRIMARY KEY, name TEXT, price INTEGER, weight REAL, info TEXT, ammo_cap INTEGER, availability_west TEXT, availability_east TEXT);

يسجل ثمانية روابط، على الرغم من أنه يتم استخدام معلمة واحدة فقط أثناء الاستعلام.

لحل هذه المشكلة، قم بتعديل التعليمات البرمجية لاستخدام تسلسل كمعلمة ثانية للأسلوب Cursor.execute():

self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])

يضمن هذا التعديل توفير تسلسل للطريقة، وحل المشكلة الارتباك حول عدد الارتباطات.

يمكن أن توفر الرجوع إلى وثائق SQLite3 Cursor Objects مزيدًا من الإرشادات حول هذا الموضوع.

بيان الافراج يتم استنساخ هذه المقالة في: 1729322534 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3