String val = searchText.getText();
System.out.println(val);
System.out.println(tmp);
if (tmp == "properShippingName") {
try {
String sql = "SELECT SDS_NUMBER, PRODUCT_NAME, PROPER_SHIPPING_NAME FROM APP.MASTER WHERE PROPER_SHIPPING_NAME LIKE ?";
pst = conn.prepareStatement(sql);
pst.setString(1, val);
rs = pst.executeQuery();
// System.out.println("rs");
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
e.printStackTrace(System.out);
JOptionPane.showMessageDialog(null, e);
}
我的第一个问题是我想使用%val%来运行查询。我希望查询返回与用户在“ searchText”文本字段中输入的内容接近的任何内容。我似乎无法弄清楚如何使它识别变量并仍然执行LIKE约束。
任何帮助将不胜感激!
我在同一主题上有第二个问题,但问题略有不同,因此我将发布另一个主题。
最佳答案
您必须在setString方法调用中包含百分比。
pst.setString(1, "%" + val + "%");
现在like-语句可与此通配符一起使用。