2012-01-09 5 views
9

कृपया मुझे बताओ कि जो दो तरीकों में से बाहर, executeUpdate और निष्पादितinsert into users(name, addr, city, sex, dob) values(?,?,?,?,?); दोनों बयानों की तरह एक डालने क्वेरी क्वेरी निष्पादित होगा, लेकिन जो एक आदर्श एक डालने क्वेरी के लिए इस्तेमाल किया जाना चाहिए के लिए सबसे अच्छा है?क्या उपयोग करें: executeUpdate() या execute()?

+0

संभावित डुप्लिकेट [सफलतापूर्वक ऑरैकल में निष्पादित निष्पादन निष्पादन लेकिन माइक्रोसॉफ्ट एसक्यूएल में अपवाद फेंकना] (http://stackoverflow.com/questions/8786911/preparedstatement-executing-sccessccess-in-oracle-but-throwing-exception-in- माइक) – axtavt

+0

क्या आपने प्रत्येक के लिए जावाडोक पढ़ा था? जवाब वहां है। – skaffman

उत्तर

14

वापसी मूल्य अलग है। ExecuteUpdate() अद्यतन पंक्तियों की संख्या देता है, जो एक अद्यतन कथन चलाते समय उपयोगी हो सकता है। आपके मामले में इसकी आवश्यकता नहीं है, क्योंकि आप जानते हैं कि आप कितने रिकॉर्ड डाल रहे हैं। आप या तो एक का उपयोग कर सकते हैं।

+0

तो उनमें से किसी एक का उपयोग करने में कोई लाभ नहीं है? इस मामले में इससे कोई फ़र्क नहीं पड़ता कि कौन सी विधि का उपयोग किया जाता है? –

+0

दाएं। कोई फर्क नहीं पड़ता कि। – Sjoerd

+0

ठीक है। बहुत बहुत धन्यवाद :) –

2

सिद्धांत रूप में केवल वापसी मूल्य अलग है। हालांकि, मैंने पाया कि Sybase एएसई 15.7 तक पहुंचने के लिए जेकनेक्ट 3 का उपयोग करके, निष्पादन() फ़ंक्शन तब तक अवरुद्ध नहीं होता जब तक कि ट्रिगर्स रन नहीं हो जाते हैं और तैयार किए गए स्टेमेंटमेंट को बंद कर देते हैं, तो अपडेट को वापस ले लेंगे। (1 एस नींद डालने से यह एक प्रश्न के लिए काम करता है जिसकी मैंने कोशिश की।) इसके विपरीत, executeUpdate() इस समस्या से ग्रस्त नहीं है; ऐसा लगता है कि सही काम करना प्रतीत होता है, और प्रीपेरस्टेटमेंट को बंद करने से पहले मनमाने ढंग से नींद की आवश्यकता नहीं होती है।

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