PostgreSQL中输入一个日期值与Java

我想编程与Java,PostgreSQL及数据库应用程序。 我有一些行与日期数据类型。 但我不能添加任何条目使用此代码数据库:

Date aDate = null; aDate.setYear(1990); aDate.setDate(01); aDate.setMonth(05); preparedStatement prep = connection.prepareStatement("insert into exampletable values (?,?);"); prep.setDate(1, (java.sql.Date) aDate); prep.setDate(2, (java.sql.Date) aDate);

我怎么能在一个PostgreSQL一行添加日期在Java中的查询?

--------------解决方案-------------

目前尚不清楚这是否是你唯一的问题,但是这个代码是几乎可以肯定不是你想要什么:

Date aDate = null;
aDate.setYear(1990);
aDate.setDate(01);
aDate.setMonth(05);

  • 它会抛出一个NullPointerException ,因为你试图取消引用null
  • 那么你想在今年设定为3890AD( java.util.Date是基于1900年)
  • 那么你月份设置为6​​月 如果你以为你这个月设置为月,再想想- Date是基于0个月
  • 这应引起很大的警示灯为你 - 你正在使用已废弃的所有方法
  • 然后,你想投aDatejava.sql.Date但没有迹象表明是一个java.sql.Date

我会建议:

  • 要么使用约达时间是一个更好的日期/时间API或java.util.Calendar
  • 请确保您设置的值在你真正创建一个实例
  • 可能创建一个新的java.sql.Date以后。

例如:

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 1990);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.MONTH, 4); // Assuming you wanted May 1st

java.sql.Date date = new java.sql.Date(calendar.getTime().getTime());

// Ideally specify the columns here as well...
PreparedStatement prep = connection.prepareStatement(
"insert into exampletable values (?,?)");
prep.setDate(1, date);
prep.setDate(2, date);

分类:java的 时间:2012-04-23 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.234 (s). 10 q(s)