【问题标题】:Insert data into mysql database with LIKE Clause使用 LIKE 子句将数据插入 mysql 数据库
【发布时间】:2017-11-23 10:21:17
【问题描述】:

我正在开发简单的 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);

但似乎它不起作用。有人可以帮我解决这个代码结构吗?

【问题讨论】:

  • 尝试将查询更改为“SELECT * FROM final_report WHERE used_PR LIKE ? OR create_PR LIKE ?”,并在参数字符串生成器末尾添加 %
  • 您可能需要检查存储在数据库中的日期格式以及您当前从 JDateChooser 获取的格式。
  • 我试过了,效果很好。谢谢

标签: java mysql swing jdatechooser


【解决方案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+"%");

【讨论】:

  • 很高兴为您提供帮助
猜你喜欢
  • 1970-01-01
  • 2014-04-17
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 2013-05-29
  • 1970-01-01
相关资源
最近更新 更多