我需要从JTextField
插入日期,如下所示:
pst.setString (4, txt_date.getText());
但是留下错误:ORA-01843不是有效的月份
oracle数据类型中的是DATE(例如:2014年5月30日)
如何解决这个问题?
谢谢
编辑:
Connection conn = Connessione.ConnecrDb();
Statement stmt = null;
ResultSet emps = null;
SimpleDateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
String dateInString = "7-07-2014";
try {
java.util.Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
我添加这个尝试{insert ... etc
答案 0 :(得分:1)
您必须先将字符串格式化为日期,如
SimpleDateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
String dateInString = "7-07-2014";
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
相应地匹配您的数据库格式
txt_date.getText()
是使用以下代码尝试的字符串值:
SimpleDateFormat formatter = new SimpleDateFormat(“dd-mm-yyyy”); String dateInString = txt_date.getText();
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
pst.setDate (4, formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
或TimeStamp如:HELP
pst.setTimestamp(java.util.Date().getTime());