- 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.调用获取数据库名称的方法 看看能否得到?