【发布时间】:2013-05-28 02:22:52
【问题描述】:
我有一个 sql 查询,当我通过 SQLDeveloper 应用程序手动发送到 Oracle DB 时,我得到了我想要的输出。但是,当我尝试通过 JDBC 驱动程序连接和查询为什么会发生这种情况时,相同的查询什么也不返回。请帮帮我。
代码:
String sql = "select * from tablename where id='" + id + "' AND case_id = '" + case_id + "'";
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
System.out.println(sql);
System.out.println("next = " + rs.next());
输出:
select * from tablename where id='1' AND case_id = '1000'
next = false
两个连接(JDBC 和 SQLDeveloper)都使用相同的用户名和密码。所以我认为没有特权或安全问题。
【问题讨论】:
-
列类型有哪些?
-
您是否尝试过将 id 和 case_id 的值直接放入代码中?
-
我已经执行了
System.out.println(sql);行打印的输出sql,我得到了输出 -
您可能还想在数据库中进行查询日志记录以查看应用程序运行的查询。
-
@BevynQ :
id是number类型,case_id是varchar2(20 Byte)