请看以下JDBC连接文件BConn.JAVA)
package dbsql;
import java.sql.*;
import java.io.*;
//数据库操作
public class DBConn
{
private String sDBDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String  url="jdbc:sqlserver://localhost:1433;DatabaseName=cs1";    
private String  username="sa";    
private String  password="leiyu";  
private Connection  conn=  null; 
private Statement stmt = null;
private ResultSet rs = null;
//
public DBConn()
{
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.out.print("DBConn" + e.getMessage());
}
}
//
public void executeInsert(String sql) 
{
try
{
conn = DriverManager.getConnection(url,username,password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.out.print("sql_data.executeUpdate:"+ex.getMessage());
}
}
//
public ResultSet executeQuery(String sql)
{
try
{
conn = DriverManager.getConnection(url,username,password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY
rs = stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.out.print("DBConn.executeQuery:"+ex.getMessage());
}
return rs;
}
//
public void executeUpdate(String sql)
{
try
{
conn = DriverManager.getConnection(url,username,password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();

catch(SQLException ex)

  System.out.print("aq.executeQuery: " + ex.getMessage());
}
}
//
public void executeDelete(String sql) 
{
try
{
conn = DriverManager.getConnection(url,username,password);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();

catch(SQLException ex) 
{
System.out.print("DBConn.executeDelete:"+ex.getMessage());
}
}
//
public void closeStmt()
{
try
{
stmt.close();
 }
catch(SQLException e)
{
e.printStackTrace();
}
  }

public void closeConn()
{
try
{
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
  }
}
这是我的JSP测试文件
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.* " errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<jsp:useBean id="sqlbean" scope="session" class="dbsql.DBConn"/>
<title>测试</title>
</head>
<body>
<%
String Sql = "select * from user";
ResultSet Rs = sqlbean.executeQuery(Sql);
while(Rs.next()){%>
<%=Rs.getString(1)%>
<%}%>
</body>
</html>

配置:JDK1.5,Tomcat/5.5.20,sqlserver 2005,用的微软sql 2005的JDBC连接.
我想问的是为什么这样老是提示出错,但是把所有的都写在一个文件里就不会出错,比如:
<% Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String username = "sa";
String password = "leiyu";
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=cs1",username,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from Table1";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) { %>
    第一个字段为:<%=rs.getString(2)%>
    第二个字段为:<%=rs.getString(1)%>
  <% } %>
  <% out.print("数据库操作成功,恭喜你"); %>
  <% rs.close();
stmt.close();
conn.close();
%>
如果这样写,便可以成功.但是这样写不可能应用在实际中

以下片段是Tomcat解析出来的JSP源文件...
      out.write("<title>测试</title>\r\n");
      out.write("</head>\r\n");
      out.write("\r\n");
      out.write("<body>\r\n");

String Sql = "select * from user";
ResultSet Rs = sqlbean.executeQuery(Sql);
while(Rs.next()){
      out.write('\r');
      out.write('\n');
      out.print(Rs.getString(1));
      out.write('\r');
      out.write('\n');
}
      out.write("\r\n");
      out.write("</body>\r\n");
      out.write("</html>\r\n");

提示出错的地方在:while(Rs.next()){

我都搞糊了,想请教一下大家,这个怎样解决,先谢谢了.
在线等