cx_Oracle: मैं परिणाम सेट पर फिर से कैसे शुरू करूं?

परिणाम सेट पर पुन: प्रयास करने के कई तरीके हैं। प्रत्येक का व्यापार क्या है?

0
जोड़ा संपादित
विचारों: 1
क्या आप थोड़ा और वर्णनात्मक हो सकते हैं? यह क्षेत्र कहां है? 'पिक' से आपका क्या मतलब है? आप क्या खत्म करने की कोशिश कर रहे हैं?
जोड़ा लेखक Anonymous User, स्रोत
जोड़ा लेखक steve_mtl, स्रोत
इसके लिए अपवाद हैं, लेकिन अंगूठे का सामान्य नियम यह है: यदि ऐसा करने के एक से अधिक तरीके हैं, तो शायद यह है क्योंकि प्रत्येक तरह अलग-अलग स्थितियों के लिए उपयुक्त है। अन्यथा केवल एक ही रास्ता होगा।
जोड़ा लेखक Jeffrey Kemp, स्रोत
नहीं, मैंने नहीं किया, धन्यवाद
जोड़ा लेखक Daan, स्रोत

6 उत्तर

कुछ हफ्ते पहले मैंने एक सुविधा को जादू फ़ील्ड के समान जोड़ा था।

Here's the github project. The most important thing is in this file: js/custom_fields/media_image.js

2
जोड़ा

यह मेरे लिए वर्डप्रेस में post_thumbnail सुविधा की तरह लगता है। यह टैग बॉक्स के नीचे दाईं ओर एक बॉक्स जोड़ देगा। डिफ़ॉल्ट रूप से बॉक्स "फीचर्ड छवि सेट करें" लिंक प्रदर्शित करता है।

जब आप उस पर क्लिक करते हैं तो मीडिया गैलरी पॉपअप खुलता है और आप एक तस्वीर चुन सकते हैं जिसे आपने पहले पोस्ट किए गए चित्र के रूप में पोस्ट पर अपलोड किया था।

फिर आप इसका उपयोग कर सकते हैं:

if (has_post_thumbnail()) {
  the_post_thumbnail();
}

विशेष रुप से प्रदर्शित चित्र प्रदर्शित करने के लिए थीम में।

Post_thumbnail को सक्षम करने के लिए आपको बस जोड़ने की आवश्यकता है:

add_theme_support( 'post-thumbnails' );

आपके विषय के function.php पर

1
जोड़ा

अपने प्रश्न का उत्तर थोड़ा सा रास्ता देने के लिए, क्या आप एक विकल्प के लिए खुले हैं? मैं सुझाव देता हूं कि एक पोस्ट में एक फोटो जोड़ना, अपनी छवियों के लिए एक विशिष्ट श्रेणी के तहत पोस्ट दर्ज करना, और शायद, आपकी ज़रूरतों के आधार पर, उस विशिष्ट छवि को पुनर्प्राप्त करने के लिए केवल टेक्स्ट फ़ील्ड जोड़ना।

$image = get_posts('cat=the_category&meta_key=the_key&meta_value=the_value');
foreach($image as $img){
    setup_postdata($img);
    //whatever your markup is...
    echo '
'.the_content().'

'; //or echo '
'.$img->post_content.'

'; }

सिर्फ एक विचार...

0
जोड़ा
मैं वर्डप्रेस में अपनी व्यावसायिक वेबसाइट को फिर से विकसित करने की प्रक्रिया में हूं, और वर्तमान में इस पृष्ठ पर कुछ छवियां प्रस्तुत की जा रही हैं। दुर्भाग्यवश, मैं एक स्लाइड शो में लगभग 10 छवियों को लोड करता हूं। बस आज मेरे पास एक ही पोस्ट में सभी दस छवियों को लोड करने का विचार था और केवल दस की बजाय एक पोस्ट को कॉल करना होगा। अब वापस जाने और कोड को साफ करने के लिए!
जोड़ा लेखक cmcculloh, स्रोत
दिलचस्प, उस विचार को देख सकते हैं। हालांकि, मैंने उस अवधारणा को देखा है जिसे मैं ऑडियो के साथ इस्तेमाल किए जाने वाले पॉडकास्ट के लिए इस्तेमाल करता हूं। ऐसा हो सकता है कि मुझे उनके कोड को देखने की आवश्यकता है और देखें कि उन्होंने इस मुद्दे से कैसे संपर्क किया।
जोड़ा लेखक Daan, स्रोत

अंतर्निहित कर्सर इटरेटर का उपयोग करना कैननिकल तरीका है।

curs.execute('select * from people')
for row in curs:
    print row

आप सभी पंक्तियों को एक साथ प्राप्त करने के लिए fetchall() का उपयोग कर सकते हैं।

for row in curs.fetchall():
    print row

पाइथन सूची बनाने के लिए इसका उपयोग करने के लिए सुविधाजनक हो सकता है जिसमें मूल्य वापस आते हैं:

curs.execute('select first_name from people')
names = [row[0] for row in curs.fetchall()]

यह छोटे परिणाम सेट के लिए उपयोगी हो सकता है, लेकिन परिणाम सेट बड़ा होने पर खराब दुष्प्रभाव हो सकते हैं।

  • आपको पूरे परिणाम सेट को वापस लौटने की प्रतीक्षा करनी होगी आपकी ग्राहक प्रक्रिया।

  • आप अपने ग्राहक को पकड़ने के लिए बहुत सारी मेमोरी खा सकते हैं बिल्ट-अप सूची।

  • पाइथन के निर्माण और deconstruct के लिए कुछ समय लग सकता है सूची जिसे आप तुरंत किसी भी तरह से त्यागने जा रहे हैं।


यदि आप जानते हैं कि परिणाम सेट में एक पंक्ति लौटाई जा रही है तो आप एकल पंक्ति प्राप्त करने के लिए fetchone() पर कॉल कर सकते हैं।

curs.execute('select max(x) from t')
maxValue = curs.fetchone()[0]

अंत में, आप एक समय में एक पंक्ति लाने वाले परिणाम सेट पर लूप कर सकते हैं। सामान्यतः, इटरेटर का उपयोग करने में ऐसा करने में कोई विशेष फायदा नहीं होता है।

row = curs.fetchone()
while row:
    print row
    row = curs.fetchone()
0
जोड़ा
मुझे लगता है कि एसएसकर्सर MySQL के लिए है। लेकिन कुछ भी जो fetchall() है, शायद एक ही स्मृति उपयोग होगा, क्योंकि यह लौटाई गई सभी पंक्तियों की एक सूची देता है।
जोड़ा लेखक Mark Harrison, स्रोत
दूसरी विधि के बारे में, यदि आप एक एसएसकर्सर का उपयोग करते हैं तो क्या होगा? क्या यह बहुत सारी मेमोरी खाएगा?
जोड़ा लेखक Sylvain, स्रोत

मेरा पसंदीदा तरीका कर्सर इटरेटर है, लेकिन पहले कर्सर की सरणीकरण संपत्ति सेट करना।

curs.execute('select * from people')
curs.arraysize = 256
for row in curs:
    print row

इस उदाहरण में, cx_Oracle एक समय में ओरेकल 256 पंक्तियों से पंक्तियां लाएगा, जिससे नेटवर्क राउंड ट्रिप की संख्या को कम किया जा सकेगा

0
जोड़ा

psyco-pg ऐसा करने का तरीका भी है ... जो मैं इकट्ठा करता हूं, वह क्वेरी द्वारा लौटाए गए मेमोरी ब्लॉक में कुंजी लुकअप को मैप करने के लिए शब्दकोश-जैसी पंक्ति-प्रॉक्सी बनाने लगता है। उस स्थिति में, पूरे उत्तर को प्राप्त करना और पंक्तियों पर समान प्रॉक्सी-फैक्ट्री के साथ काम करना उपयोगी विचार जैसा लगता है। हालांकि इसके बारे में सोचने के लिए आओ, यह पाइथन की तुलना में लुआ की तरह लगता है।

साथ ही, यह सभी PEP-249 DBAPI2.0 इंटरफेस पर लागू होना चाहिए , सिर्फ ओरेकल नहीं, या क्या आपका मतलब सबसे तेज़ ओरेकल का उपयोग कर रहा है?

0
जोड़ा