gpt4 book ai didi

java - 将 Java.sql.Date 插入 Derby 数据库

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:16 26 4
gpt4 key购买 nike

我正在尝试将一个日期对象插入到数据库中,但它说我正在尝试插入一个整数。这是我的代码:

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”类型的值。

最佳答案

为此,请改用准备好的语句并使用 setter。

目前,您将日期扁平化为一个字符串值(需要采用正确的格式才能使数据库正常工作)并丢失它是一个日期,因此数据库需要对其进行解析。您可以使用准备好的语句来避免这种情况。

关于java - 将 Java.sql.Date 插入 Derby 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6769580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com