Java 使用LIKE子句将数据插入mysql数据库

Java 使用LIKE子句将数据插入mysql数据库,java,mysql,swing,jdatechooser,Java,Mysql,Swing,Jdatechooser,我正在开发简单的swing应用程序,以从数据库中获取一些信息。 数据库表中的两个字段名为Used_PR和Create_PR。 如下: 数据结构如下所述 PR-L-Machine-Date-Shift 然后我想通过PR检索数据。 这是我插入搜索详细信息的界面 从日期JDateChooser中选择日期。 我使用LIKE子句从数据库中获取数据,但它不起作用。 下面是MYSQL查询语句 String prlQuery = "SELECT * FROM final_report WH

我正在开发简单的swing应用程序,以从数据库中获取一些信息。 数据库表中的两个字段名为Used_PR和Create_PR。 如下:

数据结构如下所述

  PR-L-Machine-Date-Shift
然后我想通过PR检索数据。 这是我插入搜索详细信息的界面

从日期JDateChooser中选择日期。 我使用LIKE子句从数据库中获取数据,但它不起作用。 下面是MYSQL查询语句

        String prlQuery = "SELECT * FROM final_report WHERE used_PR LIKE '?%' OR create_PR LIKE '?%'";

        try {
            Date chooseDate = new Date(dateChooser.getDate().getTime());
            String parameter = "PR-L-" + selectMachine.getSelectedItem() + "-" + chooseDate;

            pst = connect.dbConnection().prepareStatement(prlQuery);
            pst.setString(1, parameter);
            pst.setString(2, parameter);

但它似乎不起作用。有人能帮我处理这个代码结构吗。

您必须在参数中传递% 您的查询必须如下所示

 String prlQuery = "SELECT * FROM final_report WHERE used_PR LIKE ? OR create_PR LIKE ?";

    try {
        Date chooseDate = new Date(dateChooser.getDate().getTime());
        String parameter = "PR-L-" + selectMachine.getSelectedItem() + "-" + chooseDate;

        pst = connect.dbConnection().prepareStatement(prlQuery);
        pst.setString(1, parameter+"%");
        pst.setString(2, parameter+"%");

尝试将查询更改为“从最终报告中选择*使用位置”或“创建位置?”,并将%添加到参数字符串builder的末尾。您可能需要检查存储在数据库中的使用日期格式以及当前从JDateChooser获取的格式。我尝试过了,效果很好。谢谢你,兄弟