【发布时间】:2011-10-09 19:41:06
【问题描述】:
我正在尝试将日期对象插入数据库,但它说我正在尝试插入整数。这是我的代码:
public void insertAssignment(long studentId, String newAssignment, int ptsTotal, int ptsRecieved, String category, Date dueDate, String term, int yr) {
java.sql.Date temp = new java.sql.Date(dueDate.getTime());
try{
s.execute("INSERT INTO Assignments " +
"VALUES (" + studentId + ",'" + newAssignment + "'," + ptsTotal +
"," + ptsRecieved + ",'" + category + "'," + temp
+ ",'" + term + "'," + yr + ")");
System.out.println("Assignment inserted.");
}
catch(SQLException error){
System.err.println("Unable to insertAssignment.");
error.printStackTrace(System.err);
System.exit(0);
}
}
我的错误: java.sql.SQLSyntaxErrorException:“DATE”类型的列不能包含“INTEGER”类型的值。
【问题讨论】:
-
这是因为与你的日期列匹配的列实际上是一个int值。也使用 PreparedStatement。在您的 sql 中添加列名。
标签: java sql derby embedded-database