使用LIKE子句

时间:2017-11-23 10:21:17

标签: java mysql swing jdatechooser

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

数据结构如下所述。

  PR-L-Machine-Date-Shift

然后我想通过PR检索数据。 这是我的界面,用于插入搜索详细信息enter image description here

日期从日期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);

但似乎没有用。有人可以帮我解决这个代码结构。

1 个答案:

答案 0 :(得分:1)

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

 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+"%");