将日期从 JDateChooser 插入 Oracle DB
Insert date from JDateChooser into Oracle DB
我一直在尝试使用 JDateChooser 将日期插入我的 Oracle 数据库,但我一直收到此错误:
SQL Error: ORA-01861: literal does not match format string.
这是我的代码。
private void addActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String d = sdf.format(tdate.getDate());
System.out.println(d);
String sql ="INSERT INTO TRACK(TRACKID,TRACKNAME,TRACKDESC,TRACKDATE)VALUES (?,?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1,tid.getText());
ps.setString(2,tname.getText());
ps.setString(3,td.getText());
ps.setString(4,d);
ps.execute();
JOptionPane.showMessageDialog(null, "Added");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
}
第四个参数使用 setDate
而不是 setString
。
ps.setDate(4, new java.sql.Date(tdate.getDate().getTime());
有关设置日期的更多信息
Using setDate in PreparedStatement
我一直在尝试使用 JDateChooser 将日期插入我的 Oracle 数据库,但我一直收到此错误:
SQL Error: ORA-01861: literal does not match format string.
这是我的代码。
private void addActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String d = sdf.format(tdate.getDate());
System.out.println(d);
String sql ="INSERT INTO TRACK(TRACKID,TRACKNAME,TRACKDESC,TRACKDATE)VALUES (?,?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1,tid.getText());
ps.setString(2,tname.getText());
ps.setString(3,td.getText());
ps.setString(4,d);
ps.execute();
JOptionPane.showMessageDialog(null, "Added");
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
}
第四个参数使用 setDate
而不是 setString
。
ps.setDate(4, new java.sql.Date(tdate.getDate().getTime());
有关设置日期的更多信息 Using setDate in PreparedStatement