【发布时间】:2018-03-27 09:19:59
【问题描述】:
美好的一天
我试图将日期插入数据库并使用相同的解决方案here
我现在面临的问题是,在我使用此解决方案后,它会显示给我
Java.nullPointerException
我也试过((JTextField) jDateChooser1.getDateEditor().getUiComponent()).getText()
它对我不起作用,并说不能将日期转换为字符串。
这是我的代码:
import java.util.Date;
import java.sql.*;
String Sql="insert into rect (recName,phoneNo,position,DOB,gender,Mstatus,nationality,quali,major,Uni,email,EngCom,AraCom,status,Stage,IntDate,source,interviewer,RecEval,comments,Attach) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hr","root","");
Date date = jDateChooser1.getDate();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String strDate = formatter.getDateInstance().format(date);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
Date datex = jDateChooser2.getDate();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String intrDate = format.getDateInstance().format(datex);
java.sql.Date sqlDatex = new java.sql.Date(datex.getTime());
ps= con.prepareStatement(Sql);
ps.setString(1, jTextField18.getText());
ps.setString(2, jTextField1.getText());
ps.setString(3, jTextField2.getText());
ps.setDate(4,sqlDate);
if(jRadioButton1.isSelected()== true){
ps.setString(5, jRadioButton1.getText());
}
else {
ps.setString(5, jRadioButton2.getText());
}
ps.setString(6, (String) jComboBox1.getSelectedItem());
ps.setString(7, jTextField3.getText());
ps.setString(8, jTextField4.getText());
ps.setString(9, jTextField5.getText());
ps.setString(10, jTextField6.getText());
ps.setString(11, jTextField8.getText());
ps.setString(12, jTextField9.getText());
ps.setString(13, jTextField10.getText());
ps.setString(14, jTextField11.getText());
ps.setString(15, jTextField12.getText());
ps.setDate(16, sqlDatex);
ps.setString(17, jTextField14.getText());
ps.setString(18, jTextField15.getText());
ps.setString(19, jTextArea1.getText());
ps.setString(20, jTextArea2.getText());
ps.setString(21, jTextField19.getText());
int i =ps.executeUpdate();
if (i>0)
{
JOptionPane.showMessageDialog(null, "Data is Saved");
}
else {
JOptionPane.showMessageDialog(null, "Data is not Saved");
}
}
catch (Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
JOptionPane.showMessageDialog(null, e);
}
【问题讨论】:
-
jDateChooser1.getDate().toString()为什么?为什么不直接使用jDateChooser1.getDate()返回的Date值? -
它在哪一行抛出
NullPointerException? -
尝试将日期插入数据库时
-
可以粘贴输出错误吗?