读书人

50分问为什么进不了while循环?

发布时间: 2012-05-27 05:42:30 作者: rapoo

50分问为什么进不了while循环??在线等---
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1430;DatabaseName=test";
String user="sa";
String password="123";
Connection conn=null;
conn=DriverManager.getConnection(url,user,password);
if(conn!=null){ out.print(" conn!=null"); }
Statement stmt=conn.createStatement();
String sql="select * from Table_1";
ResultSet rs= stmt.executeQuery(sql);
%>
<%
while(rs.next()) {
out.print(" 进了循环");
out.print(rs.getString(1));
}
if(rs!=null){ out.print(" rs!=null"); }
%>
<%rs.close();
stmt.close();
conn.close();
%>

</body>
</html>
table1是我建立的一个表,a,b两列的值都是int类型的,不为空。
打印结果是
conn!=null rs!=null
发现没有进入while(rs.next())循环体,为什么???

[解决办法]
一种可能表中没数据!
[解决办法]

探讨
引用:
表中可能是没有数据。
你直接进这个表有数据吗?是不是你刚插入进去,没有提交。


我建立的表是直接建立在数据库中了,请问,我需要不需要把这个表拷贝到项目里面。
是不是没有拷贝到项目里面的原因?现在我项目的任何目录下面都没有.sql文件。
请问如何拷贝,调试好就给分了。谢谢!

[解决办法]
rs!=null 只代表rs这个变量不为空
不代表你查出来数据了

这个很明显是查询没有查询出来结果
返回的ResultSet 结果集中没有数据
他直接返回一个 size 为 0 的ResultSet 集合
举个例子
就相当于 ArrayList s = new ArrayList();
s 有指向 但是 s的size为0
[解决办法]
俺也学学
[解决办法]
探讨
现没有进入while(rs.next())循环体,为什么???
rs.next()返回的是Object;
rs.hasNext()返回的才是bollen;
所以要改成rs.hasNext();

读书人网 >Java Web开发

热点推荐