读书人

,马上给分

发布时间: 2011-12-07 22:35:48 作者: rapoo

在线等,马上给分
原代码:
<%
String name=request.getParameter( "username ");
System.out.println(name);
String pass=request.getParameter( "pass ");

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver "); //载入驱动程序类别
Connection con = DriverManager.getConnection( "jdbc:odbc:login ");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery( "select * from d ");

%>
<%= rs.getString(2) %>
<%

rs.close();
stmt.close();
con.close();
%>
错误提示:

org.apache.jasper.JasperException: Exception in JSP: /test.jsp:27

24: ResultSet rs = stmt.executeQuery( "select * from d ");
25:
26: %>
27: <%= rs.getString(2) %>
28: // <%
29:
30: //rs.close();

[解决办法]
加上 rs.next();
[解决办法]
<%= rs.getString(2) %> --> 改成 <%= rs.getInt(2) %>
[解决办法]
while(rs.next)
{
out.print();
}
[解决办法]
改成:

<%
String name=request.getParameter( "username ");
System.out.println(name);
String pass=request.getParameter( "pass ");

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver "); //载入驱动程序类别
Connection con = DriverManager.getConnection( "jdbc:odbc:login ");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery( "select * from d ");

rs.next();
%>
<%= rs.getString(2) %>
<%

rs.close();
stmt.close();
con.close();
%>

[解决办法]
刚刚查询的时候,rs游标还是停止在结果集第一条记录的前面一个地址上,所以要用rs.next()来让游标移动到第一条数据记录上 才可以读数据。
[解决办法]
就算查询的记录只有一条也要加rs.next();的切记!

读书人网 >Java Web开发

热点推荐