简体   繁体   English

如何在准备好的语句中转义单引号。?

[英]How to escaping single quote in prepared statement.?

  select group_id,group_name,directory_id from csr_dim_group where group_name IN ('RG-Actuary SecShared Best's Week') and directory_id=?

    PreparedStatement statement = getStatement(sql);
    statement.setLong(1, dirId);
    rs = statement.executeQuery(); 

Getting SQLServerException .获取SQLServerException Can you please help me how to escape single quote in preparedStatement.?你能帮我如何在preparedStatement中转义单引号吗?

2021-11-10 21:32:02,892 ERROR [com.mcafee.mesa.reportdbin.util.UpdateDirectoryDbUtil] SQL Exception during get directory groups: com.microsoft.sqlserver.jdbc.SQLServerException: The index 1 is out of range. 2021-11-10 21:32:02,892 错误 [com.mcafee.mesa.reportdbin.util.UpdateDirectoryDbUtil] 获取目录组期间的 SQL 异常:com.microsoft.sqlserver.jdbc.SQLServerException:索引 1 超出范围。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:1115) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:1129) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setLong(SQLServerPreparedStatement.java:1429) at org.apache.commons.dbcp.DelegatingPreparedStatement.setLong(DelegatingPreparedStatement.java:123) at org.apache.commons.dbcp.DelegatingPreparedStatement.setLong(DelegatingPreparedStatement.java:123) at com.mcafee.mesa.reportdbin.util.UpdateDirectoryDbUtil.getDirectoryGroups(UpdateDirectoryDbUtil.java:197) at com.mcafee.mesa.server.project.services.directory.UpdateDirectoryHelper.updateDirectoryGroup(UpdateDirectoryHelper.java:584)在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) 在 com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:1115) 在 com.microsoft.sqlserver.jdbc.SQLServerValuePreparedStatement.set (SQLServerPreparedStatement.java:1129) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setLong(SQLServerPreparedStatement.java:1429) at org.apache.commons.dbcp.DelegatingPreparedStatement.setLong(DelegatingPreparedStatement.javaorg:123.) commons.dbcp.DelegatingPreparedStatement.setLong(DelegatingPreparedStatement.java:123) at com.mcafee.mesa.reportdbin.util.UpdateDirectoryDbUtil.getDirectoryGroups(UpdateDirectoryDbUtil.java:197) at com.mcafee.mesa.server.project.services.directory UpdateDirectoryHelper.updateDirectoryGroup(UpdateDirectoryHelper.java:584)

You would use \\' in the string to escape the ' .您可以在字符串中使用\\'来转义' The \\ is used to escape reserved characters. \\用于转义保留字符。 You can also do \\" to escape quotes.您也可以使用\\"来转义引号。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM