SQL LIKE 语句中有变量:无效的列索引

SQL with variable in LIKE statement: Invalid column Index

我正在使用 Oracle。

PreparedStatement pstmt = con.prepareStatement("SELECT * FROM BookLoanInfo WHERE title LIKE '%?%' ORDER BY bid");
ResultSet rs;
String bookstring = scan.nextLine();
try{
    pstmt.clearParameters();
    pstmt.setString(1, bookstring);
    rs = pstmt.executeQuery();

实际问题似乎与 setString 或我输入查询的方式有关。

然而,这给出了无效的列索引。

您需要在 setString 语句中指定通配符。

Wildcard in Prepared Statement