gpt4 book ai didi

java - sql根据日期删除

转载 作者:行者123 更新时间:2023-12-02 03:55:27 25 4
gpt4 key购买 nike

我对 java 和 sqlite 完全是菜鸟。这应该很简单,但我已经尝试和搜索过,但无法使其工作。我在 SQL 中有一个日期字段,我将其格式化为 SQL 日期 (MM/dd/yy)。我想根据已过去的日期进行删除。目前,我只是尝试根据过去的日期显示行。

我运行查询的代码是:

String query = "select * from Peter1Score where    DateSort='"+convertSQLDate("09/20/15")+"'";
PreparedStatement pst = connection.prepareStatement(query);
ResultSet rs = pst.executeQuery();

我的 converSQLDate() 是:

public static java.sql.Date convertSQLDate (String sqlDateIn)
{
java.sql.Date returnDate = null;

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy");
Date parsed;
try
{
parsed = formatter.parse(sqlDateIn);
java.sql.Date sqlDate = new java.sql.Date(parsed.getTime());
returnDate = sqlDate;
}
catch (ParseException e)
{
e.printStackTrace();
}
return returnDate;
}

我于 2015 年 9 月 20 日通过了测试。我有一个包含该日期的记录,但它没有被选中。

最佳答案

您没有将任何变量绑定(bind)到语句中(使用 PreparedStatementsetXY() 方法)。相反,您将字符串值(Date.toString() 的结果)连接到查询文字中。

试试这个:

String query = "select * from Peter1Score where DateSort=?";
PreparedStatement pst = connection.prepareStatement(query);
pst.setDate(1, convertSQLDate("09/20/15"));

关于java - sql根据日期删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35511969/

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