通过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

查看:133
本文介绍了通过Netbeans将日期作为dd / MM / yyyy格式存储在mySQL中,但mySQL通常需要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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆