我想将这些数据保存到oracle数据库中,但是(成员开始日期和成员结束日期)给出了一个错误我正在使用datepicker从JPallet for date和preparedstatemet允许我在pst.setString(6,startdate.getDate ()); int或字符串。请帮我解决这个问题。我会非常感谢你。Oracle preparedstatement
错误行:
pst.setString(6, startdate.getDate());
pst.setString(7, enddate.getDate());
全部方法:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
con = javadb.ConnectDb();
try{
String sql = "insert into membertable(id,name,membershipno,department,idno,"
+ "startdate,enddate,officeaddress,officephone,homeaddress,homephone,dateofbirth,"
+ "fieldofinterest,remarks) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pst = (OraclePreparedStatement) con.prepareStatement(sql);
pst.setString(1, null);
pst.setString(2, name.getText());
pst.setString(3, membershipno.getText());
pst.setString(4, department.getText());
pst.setString(5, idno.getText());
pst.setString(6, startdate.getDate());
pst.setString(7, enddate.getDate());
pst.setString(8, officeaddress.getText());
pst.setString(9, officephone.getText());
pst.setString(10, homeaddress.getText());
pst.setString(11, homephone.getText());
pst.setString(12, dateofbirth.getText());
pst.setString(13, fieldofinterest.getText());
pst.setString(14, remarks.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Book added successfully!");
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
update_table();
}
和日期选择器代码是在这里
private void startdateActionPerformed(java.awt.event.ActionEvent evt) {
}
这是不是文本字段等于是我面临的问题。我想纠正,也不想改变它,因为它是前端需求。因为用户不想手动插入日期。谢谢。
你不能只是做一个'setString'如果你的数据库字段是一个日期。应该有一个类似的'pst.setDate()'方法可以使用。 – Marc
@Marc我正在使用pst.setDATE(7,enddate.getDate());这也给我错误,我的数据库字段是日期。 –
我使用的是JDatePicker,它的formate是Sun 12/22/2013,但不知道oracle的存储日期格式是什么。 –