रिजल्टसेट की सामग्री को अपडेट करने के लिए आपको रिजल्टसेट टाइप को अपडेट करने योग्य पास करके एक स्टेटमेंट बनाना होगा, जैसे:
//स्टेटमेंट ऑब्जेक्ट बनाना stmt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
GetXXX() और setXXX() विधियों की तरह, ResultSet इंटरफ़ेस भी परिणाम सेट अपडेटXXX() में एक पंक्ति की सामग्री को अपडेट करने के तरीके प्रदान करता है।
ये विधियाँ अद्यतन की जाने वाली पंक्ति के सूचकांक का प्रतिनिधित्व करने वाले पूर्णांक मान या स्तंभ लेबल का प्रतिनिधित्व करने वाला एक स्ट्रिंग मान स्वीकार करती हैं।
ध्यान दें कि यदि आपको परिणामसेट की सामग्री को अद्यतन करने की आवश्यकता है तो तालिका में प्राथमिक कुंजी होनी चाहिए।
उदाहरण
मान लें कि हमारे पास नीचे दिखाए गए अनुसार 5 रिकॉर्ड वाले कर्मचारी नाम की एक तालिका है:
+-----+---------+----------+----------------+| आईडी | नाम | वेतन | स्थान |+----+ 1 | अमित | 3000 | हैदराबाद || 2 | कल्याण | 4000 | विशाखापत्तनम || 3 | रेणुका | 6000 | दिल्ली || 4 | अर्चना | 9000 | मुंबई || 5 | सुमित | 11000 | हैदराबाद |+----+निम्नलिखित उदाहरण दर्शाता है कि परिणाम सेट की सामग्री को कैसे अपडेट किया जाए:
import java.sql.*;public class ResultSetExample {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) अपवाद फेंकता है {// ड्राइवर DriverManager.registerDriver को पंजीकृत करना (नया 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.beforeFirst (); // प्रत्येक कर्मचारी के वेतन को 5000 तक अपडेट करना (rs.next ()) {// कॉलम नाम से पुनर्प्राप्त करें int newSal =rs.getInt ("वेतन") + 5000; rs.updateInt ("वेतन", newSal); rs.updateRow (); } System.out.println ("वेतन बढ़ाने के बाद परिणामसेट की सामग्री"); प्रिंट रुपये (रुपये); // दूसरे रिकॉर्ड के लिए स्थिति सेट करें पहले rs.beforeFirst (); रुपये निरपेक्ष(2); System.out.println ("रिकॉर्ड हमें हटाने की जरूरत है:"); System.out.print ("आईडी:" + rs.getInt ("आईडी")); System.out.print(", वेतन:"+ rs.getInt("वेतन")); System.out.print(", नाम:"+ rs.getString("Name")); System.out.println (", स्थान:" + rs.getString ("स्थान")); System.out.println (""); // पंक्ति को हटाना rs.deleteRow (); System.out.println ("एक रिकॉर्ड को हटाने के बाद परिणामसेट की सामग्री ..."); प्रिंट रुपये (रुपये); System.out.println ("अलविदा!"); } सार्वजनिक स्थैतिक शून्य प्रिंटआर (परिणामसेट आरएस) SQLException फेंकता है {// सुनिश्चित करें कि हम पहली पंक्ति rs.beforeFirst() से शुरू करते हैं; जबकि(rs.next ()){ System.out.print("ID:" + rs.getInt("id")); System.out.print(", वेतन:"+ rs.getInt("वेतन")); System.out.print(", नाम:"+ rs.getString("Name")); System.out.println (", स्थान:" + rs.getString ("स्थान")); } System.out.println (); }}पूर्व>आउटपुट
कनेक्शन स्थापित ...... तालिका की सामग्री:आईडी:1, वेतन:3000, नाम:अमित, स्थान:हैदराबाद आईडी:2, वेतन:4000, नाम:कल्याण, स्थान:विशाखापत्तनम आईडी:3, वेतन:6000, नाम:रेणुका, स्थान:दिल्लीआईडी:4, वेतन:9000, नाम:अर्चना, स्थान:मुंबईआईडी:5, वेतन:11000, नाम:सुमित, स्थान:हैदराबाद वेतन वृद्धि के बाद परिणाम के सेट आईडी:1, वेतन:8000, नाम:अमित, स्थान:हैदराबादआईडी:2, वेतन:9000, नाम:कल्याण, स्थान:विशाखापत्तनमआईडी:3, वेतन:11000, नाम:रेणुका, स्थान:दिल्लीआईडी:4, वेतन:14000, नाम:अर्चना, स्थान:मुंबईआईडी:5, वेतन:16000, नाम:सुमित, स्थान:हैदराबाद रिकॉर्ड हमें हटाने की जरूरत है:आईडी:2, वेतन:9000, नाम:कल्याण, स्थान:विशाखापत्तनम एक रिकॉर्ड को हटाने के बाद परिणाम की सामग्री ... आईडी:1, वेतन:8000 , नाम:अमित, स्थान:हैदराबादआईडी:3, वेतन:11000, नाम:रेणुका, स्थान:दिल्लीआईडी:4, वेतन:14000, नाम:अर्चना, स्थान:मुंबईआईडी:5, वेतन:16000, नाम:सुमित, स्थान:हैदराबादगुडबाय ई!