我正在开发简单的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);
但似乎没有用。有人可以帮我解决这个代码结构。
答案 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+"%");