java - 查询特定值时如何处理java jdbc中的正斜杠(/)?

标签 java oracle jdbc

下面是我的查询,它在命令窗口中成功运行,但在 JDBC 中我无法为此获取结果集。

select * From Elp_Dealer_Recon_Wrk where CERTIFICATE='FACTURA MTY10745/24';

如果我在 cmd 窗口中使用相同的查询,它将返回结果集,而在 jdbc 中它不返回任何结果集

如果我在表中提供其他值而不是 FACTURA MTY10745/24,它会在 jdbc 中获取记录。

谁能帮我解决这个问题

最佳答案

就像评论中提到的 @OrangeDog 一样,为了避免此类错误,您必须使用 PreparedStatement,这是您可以遵循的示例:

String str = "FACTURA MTY10745/24";
String query = "Select DATE_COMP From ELP_DEALER_RECON_WRK WHERE CERTIFICATE = ?";
//-----------------------------------------------------------------------------^
try(PreparedStatement pst = con.prepareStatement(query)){
    pst.setString(1, str);// Set the input
    ResultSet result = pst.executeQuery();
    //... get results
}

关于java - 查询特定值时如何处理java jdbc中的正斜杠(/)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45611046/

相关文章:

java - 如何从DB和JTable中删除选定的行?

java - NetBeans 7.4 可以将 JDK 1.6 作为默认平台吗?

sql - 查询返回升序组编号

java - Oracle Varchar2(byte) 与 java 字节

sql - 如何停止oracle撤消过程?

java - SQLException:java.sql.SQLException:ResultSet 关闭后不允许操作,而 ResultSet 从未关闭

sql - 为 csvjdbc 表设置整数、 double 和字符串列类型

java - Eclipse PDE 插件导出

使用输入/输出流的 Java LZ4 压缩

java - 为什么使用 CollapsingToolbarLayout 时选项卡下方的阴影(由于海拔)会消失?请查看详情