我想將這些數據保存到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的存儲日期格式是什麼。 –