gpt4 book ai didi

java - 在表 SQL 查询中转义单引号

转载 作者:行者123 更新时间:2023-12-01 17:38:31 26 4
gpt4 key购买 nike

使用java.sql.Preparedstatement意味着在解析查询时将完成字符转义,当我的数据中有单引号但当我的表中有单引号时也会发生这种情况name 本身查询不起作用(我使用的是 Oracle 11g)。

这是我的代码:

Class.forName("oracle.jdbc.OracleDriver");
con = DriverManager.getConnection(
"jdbc:oracle:thin:client/adept@ind-db-02:1521:ind02");

PreparedStatement preparedStatement = con.prepareStatement(
"SELECT * FROM (?) where rownum=1");

preparedStatement.setString(1,"CLIENT.\"SR'tab\"");
ResultSet rs3=preparedStatement.executeQuery();

是否有任何方法可以使用准备好的语句从表名中转义单引号?

最佳答案

PreparedStatement 占位符不适用于表名或列名,它们仅适用于实际的列值。换句话说,你实际上是在滥用PreparedStatement。

另请参阅

关于java - 在表 SQL 查询中转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3839489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com