"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या SQLite पैरामीटर प्रतिस्थापन के कारण Python में बाइंडिंग त्रुटियाँ हो रही हैं?

क्या SQLite पैरामीटर प्रतिस्थापन के कारण Python में बाइंडिंग त्रुटियाँ हो रही हैं?

2024-11-08 को प्रकाशित
ब्राउज़ करें:402

Is SQLite Parameter Substitution Causing Binding Errors in Python?

SQLite पैरामीटर्स प्रतिस्थापन समस्या

पायथन 2.5 के साथ SQLite3 का उपयोग करते समय, एक सूची के माध्यम से पुनरावृत्त करने और डेटा पुनर्प्राप्त करने का प्रयास करते समय एक सामान्य समस्या उत्पन्न होती है एक डेटाबेस. सुझाए गए "?" का उपयोग करना 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);

आठ बाइंडिंग पंजीकृत करता है, भले ही क्वेरी के दौरान केवल एक पैरामीटर का उपयोग किया जा रहा हो।

इस समस्या को हल करने के लिए, कर्सर.execute() विधि के दूसरे पैरामीटर के रूप में अनुक्रम का उपयोग करने के लिए कोड को संशोधित करें:

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

यह संशोधन सुनिश्चित करता है कि विधि को एक अनुक्रम प्रदान किया जाता है, जो समाधान करता है बाइंडिंग की संख्या पर भ्रम।

SQLite3 कर्सर ऑब्जेक्ट दस्तावेज़ का संदर्भ इस विषय पर आगे मार्गदर्शन प्रदान कर सकता है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729322534 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3