0

可能重复:
ORA-01830:日期格式图片在转换整个输入字符串之前结束

我通过以下方式获取系统当前日期和时间:

String months[] = {"Jan", "Feb", "Mar", "Apr","May", "Jun", "Jul", "Aug","Sep", "Oct",     "Nov", "Dec"};
Calendar cal = new GregorianCalendar();
String month = (months[cal.get(Calendar.MONTH)]);
int year = cal.get(Calendar.YEAR);
int day = cal.get(Calendar.DAY_OF_MONTH);

int second = cal.get(Calendar.SECOND);
int minute = cal.get(Calendar.MINUTE);
int hour = cal.get(Calendar.HOUR);

String date= day+"/"+month+"/"+year;
String time=hour+":"+minute+":"+second;

ps.setString(14, date+" "+time);

但是,现在当我尝试使用上述准备好的语句在表中插入日期和时间时。

出现以下错误:

日期格式图片在转换整个输入字符串之前结束

我该如何解决这个问题?

4

1 回答 1

1
  1. 如果您的列具有存储日期和时间的类型,请尝试传递给您的 PreparedStatement Date 而不是 String
  2. 如果您只想保存创建或更新时间戳,则使用触发器或默认列值使用 DB 更容易且不易出错
  3. 对于将日期格式化为字符串,最好使用 SimpleDateFormat 或类似的。
  4. 如果您想传递字符串以供 Oracle 解析,您应该关心 Oracle 和您的应用程序中的语言环境设置,或者您可以修改您的脚本以包含格式:例如使用类似于to_date(:paramString, 'YOUR_DATE_FORMAT')
于 2012-10-04T10:11:18.770 回答