مشكلة استبدال معلمات 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 مزيدًا من الإرشادات حول هذا الموضوع.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3