标题:
为什么得不到记录集的结果???
[打印本页]
作者:
win2000
时间:
2006-2-21 11:10
标题:
为什么得不到记录集的结果???
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.text.*" %>
<%@ page import="com.zwqk.*" %>
<jsp:useBean id="QueryBeanKp" class="com.zwqk.workPk" scope="page">
<jsp:setProperty name="QueryBeanKp" property="*"/>
</jsp:useBean>
<html>
<body>
<%
String kp = (String)request.getParameter("kp");
ResultSet rs = QueryBeanKp.get_kp(kp);
int recordNum = 0;
while(rs.next())
recordNum ++;
{
%>
<table border="1">
<tr>
<td width="50%" border="1">
<table>
<%
int n = (recordNum + 1)/2;
int i = 0;
while(i<n && rs.next())
out.println("Test 1......");//不加这个就什么也显示不了了!???
{
%>
<tr>
<td><input type="text" size="7" value="<%//=rs.getString(1)%>"></td>
<td><input type="text" size="25" value="<%//=rs.getString(2)%>"></td>
<td><input type="text" size="6" value="<%//=rs.getString(3)%>"></td>
<td><input type="text" size="4" value="<%//=rs.getString(4)%>"></td>
<td><input type="text" size="4" value="<%//=rs.getString("5")%>"></td>
</tr>
<%
i = i + 1;
}
%>
</table>
</td>
<td width="50%" border="1">
<table>
<%
while(rs.next())
out.println("Test 2......");//不加这个就什么也显示不了了!???
{
%>
<tr>
<td><input type="text" size="7" value="<%//=rs.getString(1)%>"></td>
<td><input type="text" size="25"value="<%//=rs.getString(2)%>"></td>
<td><input type="text" size="6" value="<%//=rs.getString(3)%>"></td>
<td><input type="text" size="4" value="<%//=rs.getString(4)%>"></td>
<td><input type="text" size="4" value="<%//=rs.getString(5)%>"></td>
</tr>
<%
}
%>
</table>
</td>
</tr>
</table>
<%
}
rs.close();
%>
</body>
</html>
而我用下面的代码却没有问题!这两个只是得到 rs 的方法不同而已!
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ page import="java.sql.*,java.util.*,java.io.*,com.zwqk.*" %>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=zwqk";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from tblDdlr";
ResultSet rs = stmt.executeQuery(sql);
int recordNum = 0;
while( rs.next() )
recordNum++;
{
%>
<table width="100%" border="1">
<tr>
<td width="50%">
<table width="100%" border="1">
<%
rs.beforeFirst();
int n = (recordNum + 1)/2;
int i = 0;
while( i < n && rs.next() )
{
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><% out.println(i);%></td>
</tr>
<%
i = i + 1;
}
%>
</table>
</td>
<td width="50%">
<table width="100%" border="1">
<%
while( rs.next() )
{
%>
<tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getString(4)%></td>
<td><% out.println( (recordNum - n) + i ); %></td>
</tr>
<%
}
%>
</table>
</td>
</tr>
</table>
<%
}
%>
</body>
</html>
急等中请大家帮忙亚.......
作者:
梦随风飘
时间:
2006-2-21 11:12
这是对rs理解错误的问题,当while(rs.next()){}运行完毕之后必段重新rs=stmt.executeQuery(sql);才可以进行下一个while(rs.next()){}
作者:
毛毛
时间:
2006-2-21 11:16
需要重新得到一个rs。你的第一段代码里在第一个while(rs.next())里已经让rs的指针指到了最后,在第二个while(rs.next())自然没内容了
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0