2010-07-28 11 views
11

मैं निम्नलिखित कोड का इस्तेमाल किया है, लेकिन SQL में datetime क्षेत्र के रूप में प्रस्तुत किया जाता है:एसक्यूएल का उपयोग कर डेटाबेस में वर्तमान दिनांक और समय कैसे सम्मिलित करें?

2005-04-08 00:00:00 

मैं समय भी करना चाहते हैं। मुझे क्या बदलना चाहिए?

// Get the system date and time. 
java.util.Date utilDate = new Date(); 
// Convert it to java.sql.Date 
java.sql.Date date = new java.sql.Date(utilDate.getTime()); 
... 
... 
... 
PreparedStatement stmt = connection.prepareStatement(sql); 
stmt.setDate(1, date); 
+1

माइक्रोसॉफ्ट एसक्यूएल सर्वर पर डेटाटेबल्स को वर्तमान तिथियां डालने का सबसे आसान तरीका डेटटाइम (या स्मॉलडेट टाइम) फ़ील्ड में डिफ़ॉल्ट मान जोड़ना है: getdate() –

उत्तर

11

, setTimestamp बजाय setDate का उपयोग कर के बाद से एक टाइमस्टैम्प डेटा और समय के लिए पसंदीदा प्रारूप है की कोशिश करें।

+3

java.sql.Date केवल डेटा का समर्थन करता है ई, समय नहीं। जावाडोक से - "एसक्यूएल DATE की परिभाषा के अनुरूप, java.sql द्वारा लिपटे मिलीसेकंड मान।दिनांक उदाहरण उदाहरण के साथ जुड़े समय क्षेत्र में घंटे, मिनट, सेकंड और मिलीसेकंड को शून्य पर सेट करके 'सामान्यीकृत' होना चाहिए। " –

0

बजाय एसक्यूएल तिथि निर्धारित करने की कोशिश कर के setDate (utilDate) का उपयोग कर प्रयास करें:

यहाँ नीचे मेरी कोड है। एसक्यूएल में, तिथि और समय विभिन्न डेटा प्रकार हैं।

2

इस प्रयास करें:

Connection con; 
Statement stmt; 
con = DriverManager.getConnection(url, username, password); 
stmt = con.createStatement(); 
stmt.executeUpdate("INSERT INTO MYTABLE(time) " + 
"VALUES ('" + new java.sql.Date(System.CurrentTimeMillis())"');"); 
1

अब एसक्यूएल फ़ंक्शन का उपयोग करें()।

INSERT INTO table date_field VALUES(NOW()); 
-1

असल में, डेटाबेस में दिनांक "yyyy-mm-dd" जैसी स्ट्रिंग है।

कोशिश करने के लिए नहीं क्यों:

String date = "2010-07-28";

stmt.executeUpdate("INSERT INTO MYTABLE(time) " + s);

यह सिर्फ तारीख है जो आप चाहते हैं के लिए है।

आप अब डालें, जैसे आदेश का उपयोग करना चाहते हैं:() अब() mytable जांच

सम्मिलित करें;

4

आप टाइमस्टैम्प आयात java.sql.Timestamp सेट कर सकते हैं;

stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis())); 

stmt.setDate(1, date); 

ओ के बजाय

/p हो जाएगा: 2014-05-16 08: 34: 52,977

टाइमस्टैम्प के रूप में अपने डीबी --column निर्धारित किया है।

0

मैं इस प्रकार था:

con = new BDConesion(); //Conexion with de DB 
Connection cn = con.conexion() 
PreparedStatement st = null; 
st = cn.prepareStatement("INSERT INTO TABLE (Id,Fecha,contendido) VALUES(?,?,?)"); 
st.setString(1,String.valueOf(key)); //convert the int to string 
st.setTimestamp(2, new Timestamp(System.currentTimeMillis())); 
st.setString(3,Cont);//Cont it is a varible string 
st.executeUpdate(); 

मुझे आशा है कि आप

1

मैं डेटाबेस जावा में वर्तमान समय पुन: प्राप्त करने के लिए परेशान नहीं होता, बस जाने की सेवा काम करते हैं:

String sql = "insert into some_table (some_column, timestamp_column) values (?, current_timestamp)"; 
PreparedStatement stmt = connection.prepareStatement(sql); 
stmt.setInt(1, 42); 
stmt.executeUpdate(); 
संबंधित मुद्दे