2013-03-28 5 views
5

इन fetching के बीच क्या अंतर है। मुझे संदर्भ साइट के लिए एक उदाहरण स्पष्ट idea.still मैं के साथ यहकृपया इन पायथन लाइक प्रकारों को समझाएं

res = cr.dictfetchall() 

res2 = cr.dictfetchone() 

res3 = cr.fetchall() 

res4 = cr.fetchone() 

करोड़ भ्रमित कर रहा हूँ प्राप्त करने के लिए दे कृपया वर्तमान पंक्ति, डेटाबेस कर्सर से (OpenERP 7) है

पूर्व:

def _max_reg_no(self, cr, uid, context=None): 
    cr.execute(""" 
    select register_no as reg_no 
    from bpl_worker 
    where id in (select max(id) from bpl_worker) 
    """) 
    res = cr.fetchone()[0] 
    print (res) 
    return res 
+3

आपके उदाहरण कोड में 'cr' क्या है? –

+0

@olly_uk: पोस्ट संपादित दोस्त –

+3

[पीईपी -24 9 में प्रत्येक विधि का पूरा विवरण है] (http://www.python.org/dev/peps/pep-0249/#cursor-methods) –

उत्तर

16

cr.dictfetchall() आप ** के शब्दकोश की सूची कुंजी, मूल्य युक्त ** रूप में सभी मिलान रिकॉर्ड दे देंगे।

cr.dictfetchone()cr.dictfetchall() के समान काम करता है सिवाय इसके कि यह केवल एक रिकॉर्ड देता है।

cr.fetchall() आपको टुपल की सूची में सभी मिलान रिकॉर्ड देगा।

cr.fetchone()cr.fetchall() के समान काम करता है सिवाय इसके कि यह केवल एक रिकॉर्ड देता है।

अपने किसी क्वेरी में, यदि आप का उपयोग करें:

  1. cr.dictfetchall() आप [{'reg_no': 123},{'reg_no': 543},] दे देंगे।
  2. cr.dictfetchone() आपको {'reg_no': 123} देगा।
  3. cr.fetchall() आपको '[123), (543)]' देगा।
  4. cr.fetchone() आपको '(123)' देगा।
+0

धन्यवाद आर्य ..u ने मुझे कई बार मदद की :-) –

+1

@AnneMary प्रशंसा के लिए धन्यवाद। –

संबंधित मुद्दे