ResultSet की सामग्री को अपडेट करने के लिए, आपको ResultSet प्रकार को updatable पास करके एक स्टेटमेंट बनाना होगा, जैसे:
// Statement ऑब्जेक्ट बनाना Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
गेटर और सेटर मेथड की तरह, ResultSet इंटरफ़ेस ResultSet में एक पंक्ति की सामग्री को अपडेट करने के लिए updateXXX() मेथड भी प्रदान करता है।
ये मेथड अपडेट की जाने वाली पंक्ति के कॉलम के इंडेक्स को दर्शाने वाला पूर्णांक मान या, कॉलम लेबल को दर्शाने वाला स्ट्रिंग मान स्वीकार करते हैं।
ध्यान दें कि यदि आपको ResultSet की सामग्री को अपडेट करने की आवश्यकता है तो टेबल में प्राइमरी की होनी चाहिए।
उदाहरण
मान लें कि हमारे पास Employees नाम की एक टेबल है जिसमें 5 रिकॉर्ड हैं जैसा कि नीचे दिखाया गया है:
+----+---------+--------+----------------+ | Id | Name | Salary | Location | +----+---------+--------+----------------+ | 1 | Amit | 3000 | Hyderabad | | 2 | Kalyan | 4000 | Vishakhapatnam | | 3 | Renuka | 6000 | Delhi | | 4 | Archana | 9000 | Mumbai | | 5 | Sumith | 11000 | Hyderabad | +----+---------+--------+----------------+
निम्नलिखित उदाहरण दर्शाता है कि ResultSet की सामग्री को कैसे अपडेट करें:
import java.sql.*; public class ResultSetExample { public static void main(String[] args) throws Exception { // ड्राइवर रजिस्टर करना DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // कनेक्शन प्राप्त करना String mysqlUrl = "jdbc:mysql://localhost/TestDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); // Statement ऑब्जेक्ट बनाना Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); // डेटा पुनर्प्राप्त करना ResultSet rs = stmt.executeQuery("select * from Employees"); // टेबल की सामग्री प्रिंट करना System.out.println("Contents of the table: "); printRs(rs); // ResultSet में पॉइंटर को शुरुआती बिंदु पर ले जाना rs.beforeFirst(); // प्रत्येक कर्मचारी के वेतन को 5000 से अपडेट करना while(rs.next()){ // कॉलम नाम से पुनर्प्राप्त करें int newSal = rs.getInt("Salary") + 5000; rs.updateInt( "Salary", newSal ); rs.updateRow(); } System.out.println("Contents of the ResultSet after increasing salaries"); printRs(rs); // दूसरे रिकॉर्ड पर स्थिति सेट करें rs.beforeFirst(); rs.absolute(2); System.out.println("Record we need to delete: "); System.out.print("ID: " + rs.getInt("id")); System.out.print(", Salary: " + rs.getInt("Salary")); System.out.print(", Name: " + rs.getString("Name")); System.out.println(", Location: " + rs.getString("Location")); System.out.println(" "); // पंक्ति हटाना rs.deleteRow(); System.out.println("Contents of the ResultSet after deleting one records..."); printRs(rs); System.out.println("Goodbye!"); } public static void printRs(ResultSet rs) throws SQLException{ // सुनिश्चित करें कि हम पहली पंक्ति से शुरू करें rs.beforeFirst(); while(rs.next()){ System.out.print("ID: " + rs.getInt("id")); System.out.print(", Salary: " + rs.getInt("Salary")); System.out.print(", Name: " + rs.getString("Name")); System.out.println(", Location: " + rs.getString("Location")); } System.out.println(); } }आउटपुट
Connection established...... Contents of the table: ID: 1, Salary: 3000, Name: Amit, Location: Hyderabad ID: 2, Salary: 4000, Name: Kalyan, Location: Vishakhapatnam ID: 3, Salary: 6000, Name: Renuka, Location: Delhi ID: 4, Salary: 9000, Name: Archana, Location: Mumbai ID: 5, Salary: 11000, Name: Sumith, Location: Hyderabad Conetnets of the resultset after increaing salaries ID: 1, Salary: 8000, Name: Amit, Location: Hyderabad ID: 2, Salary: 9000, Name: Kalyan, Location: Vishakhapatnam ID: 3, Salary: 11000, Name: Renuka, Location: Delhi ID: 4, Salary: 14000, Name: Archana, Location: Mumbai ID: 5, Salary: 16000, Name: Sumith, Location: Hyderabad Record we need to delete: ID: 2, Salary: 9000, Name: Kalyan, Location: Vishakhapatnam Contents of the resultset after deleting one records... ID: 1, Salary: 8000, Name: Amit, Location: Hyderabad ID: 3, Salary: 11000, Name: Renuka, Location: Delhi ID: 4, Salary: 14000, Name: Archana, Location: Mumbai ID: 5, Salary: 16000, Name: Sumith, Location: Hyderabad Goodbye!