【发布时间】:2012-07-26 11:43:42
【问题描述】:
我正在尝试从数据库 (>10K) 中读取术语,并且在另一个查询中使用该术语。我在 Oracle 中收到以下错误:
引用的字符串没有正确终止'
我做到了
term.replaceAll("'", "\\'");
但这似乎对我不起作用。此外,这些术语在转换为文本时是来自文档的标记。有没有正则表达式可以解决这个问题?
确切的 SQL 查询是:
String sql = "Select * from indexDB where (DocID=" + d.getDocId() + "and Term='" + term + "')";
我正在使用 Java。替换对我不起作用。
【问题讨论】:
-
你需要阅读SQL Injection
-
另请参阅bobby-tables.com,了解有关如何以您使用的任何语言使用参数化查询的详细信息。这将保护您免受 Oded 提到的 SQL 注入。
-
是的,通过它,参数化查询做到了!非常感谢!