通过Netbeans将日期作为dd / MM / yyyy格式存储在mySQL中,但mySQL通常需要yyyy / MM / dd [英] To store a date in mySQL as dd/MM/yyyy format through Netbeans, but mySQL generally takes yyyy/MM/dd
问题描述
我输入了以下代码。我的目标是以myd / MM / yyyy格式存储mySQL中的日期。但mySQL通常需要yyyy / MM / dd。
I entered the following codes. my goal is to store a date in mySQL as dd/MM/yyyy format. But mySQL generally takes yyyy/MM/dd.
String d=(((JTextField)jDateChooser1.getDateEditor().getUiComponent()).getText());
Statement stmt = db.conn.createStatement();
String sql = "insert into diag.current " +
"values'"+col1+"','"+col2+"','"+java.sql.Date.valueOf(d)+"','"+col4+"')";
stmt.executeUpdate(sql);
我右键点击jDateChooser1并点击自定义代码,然后输入:
I right clicked on the jDateChooser1 and clicked on Customized code, and entered :
jDateChooser1= new com.toedter.calendar.JDateChooser("dd/MM/yyyy","##/##/####",'_');
现在请告诉我我在哪里弄错了。如果有人解决这个问题,我将不胜感激。提前致谢。我希望我能清楚地描绘出来......
Now please let me know where i am making the mistake. I will be grateful if someone solves this. Thanks in Advance. I hope i portrayed clearly...
推荐答案
应该是这样的东西,如下所示。最好列出列名,以便将来对表进行更改,以及可读性。 (
在代码中丢失。使用预准备语句转义字符串并阻止SQL注入。对于日期,整数等也是有益的。
Should be something, like the following. Better list the column names, for future changes to the table, and for readability. A (
got lost in your code. Using a prepared statement escapes strings and prevents SQL injection. For dates, integers and such it is also beneficial.
java.sql.Date date = new java.sql.Date(SimpleDateFormat("dd/MM/yyyy").parse(d).getTime());
PreparedStatement stmt = db.conn.createPreparedStatement();
String sql = "INSERT INTO diag.current (COL1, COL2, COL3, COL4) VALUES(?, ?, ?, ?)";
PreparedStatement stmt = db.conn.createPreparedStatement();`
stmt.setString(1, col1);
stmt.setString(2, col2);
stmt.setDate(3, date);
stmt.setString(4, col4);
stmt.executeUpdate();
stmt.close();
我已经使用您的帮助编辑了我的程序,如下所示:
I have edited my program using your help as shown below:
java.sql.Date date = new java.sql.Date(SimpleDateFormatter("dd/MM/yyyy").parse(d).getTime());
PreparedStatement stmt = db.conn.prepareStatement();
String sql = "INSERT INTO diag.current (name, patientID, address, sex, phone, vip, email, purpose, history, tests, doc, charges, status, dob, nextapp) " +
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement stmt = db.conn.createPreparedStatement();
stmt.setString(1, name);
stmt.setString(2, id);
stmt.setString(3, add);
stmt.setString(4, sex);
stmt.setString(5, ph);
stmt.setString(6, vip);
stmt.setString(7, mail);
stmt.setString(8, pur);
stmt.setString(9, phis);
stmt.setString(10, tests);
stmt.setString(11, dc);
stmt.setInt(12, total);
stmt.setString(13, status);
stmt.setDate(14, date);
stmt.setDate(15, date);
stmt.executeUpdate();
stmt.close();
问:但是 SimpleDateFormatter
和 createPreparedStatement
不支持,我应该使用哪个导入?
Q: But SimpleDateFormatter
and createPreparedStatement
is not supporting, which import I should use?
A:错别字,应该是
java.text.SimpleDateFormat
con.prepareStatement
这篇关于通过Netbeans将日期作为dd / MM / yyyy格式存储在mySQL中,但mySQL通常需要yyyy / MM / dd的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!