आप SQL में DATE डेटाटाइप का उपयोग करके दिनांक मान डाल सकते हैं, java.sql.Date क्लास SQL DATE टाइप से मैप होती है।
PreparedStatement इंटरफ़ेस setDate() नामक एक मेथड प्रदान करता है। इसका उपयोग करके आप टेबल में दिनांक डाल सकते हैं। यह मेथड दो पैरामीटर स्वीकार करता है:
प्लेसहोल्डर (?) का पैरामीटर इंडेक्स दर्शाने वाला एक पूर्णांक जिसे हमें दिनांक मान सेट करने की आवश्यकता है।
दिनांक मान को दर्शाने वाला एक Date ऑब्जेक्ट जिसे पास करने की आवश्यकता है। java.sql.Date क्लास का कंस्ट्रक्टर एक long टाइप का वेरिएबल स्वीकार करता है जो Epoch (मानक आधार समय यानी 1 जनवरी 1970, 00:00:00 GMT) से मिलीसेकंड की संख्या दर्शाता है।
उदाहरण
मान लें कि हमने MySQL डेटाबेस में Emp नाम की एक टेबल बनाई है जिसका विवरण निम्नलिखित है:
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | DOB | date | YES | | NULL | | | Location | varchar(255) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+
निम्नलिखित JDBC प्रोग्राम इस टेबल में रिकॉर्ड डालता है:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.sql.Date; public class InsertingDate { public static void main(String args[])throws Exception { // कनेक्शन प्राप्त करना String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); // टेबल में मान डालना String query = "INSERT INTO Emp(Name, DOB, Location) VALUES (?, ?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "Amit"); pstmt.setDate(2, new Date(622790105000L)); pstmt.setString(3, "Hyderabad"); pstmt.execute(); pstmt.setString(1, "Sumith"); pstmt.setDate(2, new Date(620611200000L)); pstmt.setString(3, "Vishakhapatnam"); pstmt.execute(); pstmt.setString(1, "Sudha"); pstmt.setDate(2, new Date(336614400000L)); pstmt.setString(3, "Vijayawada"); pstmt.execute(); System.out.println("Records inserted......"); } }आउटपुट
Connection established...... Records inserted......
यदि आप MySQL डेटाबेस में टेबल सत्यापित करते हैं, तो आप टेबल की सामग्री को निम्न रूप में देख सकते हैं:
mysql> select * from Emp; +--------+------------+----------------+ | Name | DOB | Location | +--------+------------+----------------+ | Amit | 1989-09-26 | Hyderabad | | Sumith | 2019-03-19 | Vishakhapatnam | | Sudha | 2019-03-19 | Vijayawada | +--------+------------+----------------+ 3 rows in set (0.00 sec)