excel 如果查询在where条件值中有“单引号”或在更新任何单元格时,Fillo库显示无效查询

cyej8jka  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(64)
    • 运行以下查询:**
String query = "Select * from Messages Where message='Let's hangout somewhere.'";

上述查询出现错误,显示"查询无效"。
请让我知道,如果你们中的任何人已经来到这里,并分享一些修复或任何变通办法。
Maven依赖项:

<!-- https://mvnrepository.com/artifact/com.codoid.products/fillo -->
<dependency>
    <groupId>com.codoid.products</groupId>
    <artifactId>fillo</artifactId>
    <version>1.22</version>
</dependency>

https://codoid.com/products/fillo/
先谢了。
删除单引号'从"让我们挂出某处。"这使得它:"我们找个地方聚聚吧。"这完全正常。
尝试转义'单引号,但仍出现相同错误。

oxcyiej7

oxcyiej71#

更好的方法是使用预准备语句,这样就不必担心处理特殊字符。

String message = "Let's hangout somewhere.";
    String query = "Select * from Messages Where message=?";
    Fillo fillo = new Fillo();
    Connection connection = fillo.getConnection("<excel_file_path>");
    PreparedStatement preparedStatement = connection.prepareStatement(query);
    preparedStatement.setString(1, message);
    ResultSet resultSet = preparedStatement.executeQuery();

如果由于某种原因不能使用PreparedStatement,那么可以使用双单引号将其转义。

String message = "Let''s hangout somewhere.";
    String query = "Select * from Messages Where message='" + message + "'";
    Fillo fillo = new Fillo();
    Connection connection = fillo.getConnection("<excel_file_path>");
    ResultSet resultSet = connection.executeQuery(query);

相关问题