日期:2014-05-17  浏览次数:20704 次

jdbc 连接oracle
Java code
String sql = "select * from tb_user where username='"+u+"' and password='"+p+ "'";
            sm = cn.createStatement();  
            rs = sm.executeQuery(sql);  
            boolean flag = rs.next();
            System.out.println(sql);
            System.out.println(flag);


以上代码是我一个servlet的代码片段  
tomcat控制台打印的flag 始终是false,
但是!! 我把 System.out.println(sql); 打印出来的sql 完整的贴到plsql developer中发现可以查出一条记录
这是为什么?

欢迎跟帖追问

------解决方案--------------------
断点调试
------解决方案--------------------
你确定你得到数据库的链接了?你那个cn 可能没得到
------解决方案--------------------
先打出 cn 来看一看有没有连上
------解决方案--------------------
select count(1) from tb_user

看看什么结果
------解决方案--------------------
有意思。
那你直接把:
String sql = "select * from tb_user where username='"+u+"' and password='"+p+ "'";
变成你打印的sql语句试试。
String sql = System.out.println(sql);

------解决方案--------------------
String sql = System.out.println(sql);语法有问题,但意思是把你plsql developersql中执行的sql语句赋值给它试试。 

------解决方案--------------------
String sql = System.out.println(sql),这种语法不可能对吧。
------解决方案--------------------
cn 这个数据库连接的代码贴出来看看
cn.调用获取数据库名称的方法 看看能否得到?