我正在尝试使用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);
如何在带有Java查询的postgreSQL行中添加日期?
最佳答案
尚不清楚这是否是您唯一的问题,但是此代码几乎肯定不是您想要的:
Date aDate = null;
aDate.setYear(1990);
aDate.setDate(01);
aDate.setMonth(05);
NullPointerException
,因为您正试图取消引用null
java.util.Date
基于1900)Date
在几个月内都是基于0的aDate
转换为java.sql.Date
,但没有迹象表明它是java.sql.Date
我会建议:
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 - 使用Java在Postgresql中输入日期值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7662617/