Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

JDBC में कितने प्रकार के परिणाम सेट होते हैं वे क्या हैं?

<घंटा/>

परिणाम सेट दो प्रकार के होते हैं, केवल अग्रेषित और द्विदिश।

केवल परिणाम सेट अग्रेषित करें: रिजल्टसेट ऑब्जेक्ट जिसका कर्सर केवल एक दिशा में चलता है, उसे फॉरवर्ड ओनली रिजल्टसेट के रूप में जाना जाता है। डिफ़ॉल्ट रूप से, JDBC परिणाम सेट केवल-अग्रेषित परिणाम सेट होते हैं।

आप केवल परिणाम सेट . के कर्सर को आगे ले जा सकते हैं अगला () . का उपयोग करके परिणामसेट इंटरफ़ेस की विधि। यह पॉइंटर को वर्तमान स्थिति से अगली पंक्ति में ले जाता है। यह विधि एक बूलियन मान लौटाती है। यदि इसकी वर्तमान स्थिति के आगे कोई पंक्तियाँ नहीं हैं तो यह असत्य लौटाता है, अन्यथा यह सत्य लौटाता है।

इसलिए, इस विधि का उपयोग करते हुए लूप में आप ResultSet ऑब्जेक्ट की सामग्री को पुनरावृत्त कर सकते हैं।

जबकि(rs.next ()){}

उदाहरण

मान लें कि हमारे पास नीचे दिखाए गए अनुसार सामग्री के साथ डेटासेट नाम की एक तालिका है:

<पूर्व>+--------------+---------------+| मोबाइल_ब्रांड | Unit_sale |+--------------+-----------+| आईफोन | 3000 || सैमसंग | 4000 || नोकिया | 5000 || विवो | 1500 |+--------------+---------------+

निम्न उदाहरण डेटासेट . के सभी रिकॉर्ड पुनर्प्राप्त करता है तालिका और परिणाम प्रिंट करता है:

आयात करें ड्राइवर का पंजीकरण करना DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // कनेक्शन प्राप्त करना स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/TestDB"; कनेक्शन कॉन =DriverManager.getConnection (mysqlUrl, "रूट", "पासवर्ड"); System.out.println ("कनेक्शन स्थापित ......"); // एक स्टेटमेंट ऑब्जेक्ट बनाना स्टेटमेंट stmt =con.createStatement (); // डेटा प्राप्त करना ResultSet rs =stmt.executeQuery ("डेटासेट से * चुनें"); System.out.println ("तालिका की सामग्री"); जबकि (rs.next ()) {System.out.print("ब्रांड:"+rs.getString("Mobile_Brand")+", "); System.out.print ("बिक्री:" + rs.getString ("Unit_Sale")); System.out.println (""); } }}

आउटपुट

कनेक्शन स्थापित...टेबल की सामग्री:Iphone, बिक्री:3000ब्रांड:सैमसंग, बिक्री:4000ब्रांड:Nokia, बिक्री:5000ब्रांड:Vivo, बिक्री:1500

द्विदिशात्मक परिणामसेट: एक द्वि-दिशात्मक परिणामसेट ऑब्जेक्ट वह है जिसका कर्सर आगे और पीछे दोनों दिशाओं में चलता है।

कनेक्शन इंटरफ़ेस की createStatement() विधि में एक प्रकार है जो परिणाम सेट प्रकार और समवर्ती प्रकार का प्रतिनिधित्व करने वाले दो पूर्णांक मानों को स्वीकार करता है।

स्टेटमेंट createStatement(int resultSetType, int resultSetConcurrency)

एक द्वि-दिशात्मक परिणाम सेट बनाने के लिए आपको इस विधि के लिए, इस प्रकार के रूप में ResultSet.TYPE_SCROLL_SENSITIVE या ResultSet.TYPE_SCROLL_INSENSITIVE के रूप में, समवर्ती के साथ पास करना होगा:

//स्टेटमेंट ऑब्जेक्ट बनाना stmt =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

उदाहरण

निम्नलिखित उदाहरण द्वि-दिशात्मक परिणामसेट के निर्माण को दर्शाता है। यहां हम एक द्वि-दिशात्मक परिणामसेट ऑब्जेक्ट बनाने की कोशिश कर रहे हैं जो तालिका नाम डेटासेट से डेटा पुनर्प्राप्त करता है और, हम पिछला () का उपयोग करके डेटासेट तालिका की पंक्तियों को अंतिम से पहले तक प्रिंट करने का प्रयास कर रहे हैं। विधि।

आयात करें ड्राइवर का पंजीकरण करना DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // कनेक्शन प्राप्त करना स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/TestDB"; कनेक्शन कॉन =DriverManager.getConnection (mysqlUrl, "रूट", "पासवर्ड"); System.out.println ("कनेक्शन स्थापित ......"); // स्टेटमेंट ऑब्जेक्ट बनाना स्टेटमेंट stmt =con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); // डेटा प्राप्त करना ResultSet rs =stmt.executeQuery ("डेटासेट से * चुनें"); आरएस.आफ्टर लास्ट (); System.out.println ("तालिका की सामग्री"); जबकि(rs.previous()) { System.out.print("Brand:"+rs.getString("Mobile_Brand")+", "); System.out.print ("बिक्री:" + rs.getString ("Unit_Sale")); System.out.println (""); } }}

आउटपुट

कनेक्शन स्थापित...टेबल की सामग्री:विवो, बिक्री:1500ब्रांड:नोकिया, बिक्री:5000ब्रांड:सैमसंग, बिक्री:4000ब्रांड:IPhone, बिक्री:3000

  1. JDBC में रिजल्ट क्या है? ResultSet ऑब्जेक्ट से डेटा कैसे प्राप्त करें?

    एक परिणाम सेट JDBC में इंटरफ़ेस SQL ​​क्वेरी द्वारा उत्पन्न सारणीबद्ध डेटा का प्रतिनिधित्व करता है। इसमें एक कर्सर होता है जो वर्तमान पंक्ति की ओर इशारा करता है। प्रारंभ में, यह कर्सर पहली पंक्ति से पहले स्थित होता है। सूचकांक को पूरे परिणाम सेट में ले जाना अगला () ResultSet इंटरफ़ेस . की विधि व

  1. कितनी सुरक्षा भेद्यताएं हैं और उनका आकलन कैसे किया जाता है?

    हर साल, सुरक्षा और तकनीकी कंपनियां हजारों कमजोरियों का विवरण प्रकाशित करती हैं। मीडिया उन कमजोरियों पर विधिवत रिपोर्ट करता है, सबसे खतरनाक मुद्दों को उजागर करता है और उपयोगकर्ताओं को सुरक्षित रहने के बारे में सलाह देता है। लेकिन क्या होगा अगर मैंने आपको बताया कि उन हजारों कमजोरियों में से कुछ का जं

  1. किस प्रकार के ऑनलाइन विज्ञापन स्वीकार्य हैं?

    जब हम ऑनलाइन विज्ञापन देखते हैं तो हम सभी कराहते हैं और उनके बिना करना पसंद करते हैं। हालाँकि, वे कुछ वेबसाइटों और संगठनों के लिए एक आवश्यकता हो सकते हैं क्योंकि उन्हें वेबसाइट के लिए भुगतान करने में सक्षम होने के लिए किसी तरह से पैसा कमाना पड़ता है। इसे देखते हुए, किस प्रकार के ऑनलाइन विज्ञापन स्वी