Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Java.sql.SQLException प्राप्त करना:परिणामसेट बंद होने के बाद ऑपरेशन की अनुमति नहीं है

समस्या getStuff() . में डेटा लाने के तरीके में है . हर बार जब आप getStuff() पर जाते हैं आपको एक नया ResultSet प्राप्त होता है लेकिन आप इसे बंद नहीं करते।

यह Statement . की अपेक्षा का उल्लंघन करता है क्लास (यहां देखें - http://docs. oracle.com/javase/7/docs/api/java/sql/Statement.html ):

<ब्लॉकक्वॉट>

डिफ़ॉल्ट रूप से, प्रति स्टेटमेंट ऑब्जेक्ट में केवल एक ResultSet ऑब्जेक्ट एक ही समय में खुला हो सकता है। इसलिए, यदि एक ResultSet ऑब्जेक्ट की रीडिंग दूसरे के रीडिंग के साथ इंटरलीव की जाती है, तो प्रत्येक को अलग-अलग स्टेटमेंट ऑब्जेक्ट द्वारा उत्पन्न किया जाना चाहिए। स्टेटमेंट इंटरफ़ेस में सभी निष्पादन विधियाँ किसी स्टेटमेंट के वर्तमान ResultSet ऑब्जेक्ट को परोक्ष रूप से बंद कर देती हैं यदि कोई खुला मौजूद है।

rs . जो चीज चीजों को और भी खराब बनाती है वह है कॉलिंग कोड से। यह statement . से भी निकला है क्षेत्र लेकिन यह बंद नहीं है।

निचला रेखा:आपके पास कई ResultSet . हैं उसी statement . से संबंधित वस्तु एक साथ खोली गई।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या किसी संख्या का उपयोग MySQL तालिका स्तंभ को नाम देने के लिए किया जा सकता है?

  2. MySQL डेटा प्रकार:जानें कि किसका उपयोग करना है और कैसे

  3. FIND_IN_SET () बनाम IN ()

  4. Passport, Redis और MySQL का उपयोग करके Node.js में सत्रों का प्रबंधन कैसे करें

  5. त्रुटि 1698 (28000):उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध