<%-- testsqlserver.jsp --%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<html>
<body>
<table border="1">
<%
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String password = "password";

Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String sql = "select * from stores";
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
%>
  <tr>
<%    
for (int i = 0; i < numberOfColumns; i++)
{
%>
<th><%= rsmd.getColumnName(i + 1) %></th>
<%
}
%>
  </tr>
<%
while (rs.next())
{
%>
  <tr>
<%
for (int i = 0; i < numberOfColumns; i++)
{
%>     
    <td><%=rs.getString(i + 1)%></td>
<%
}
%>    
  </tr>
<%
}
%>
</table>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>

解决方案 »

  1.   

    //获得Jdbc驱动程序以及连接的信息
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
    String user = "sa";
    String password = "password";
    //获得连接和Statement对象
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, user, password);
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    String sql = "select * from stores";
    //执行SQL
    ResultSet rs = stmt.executeQuery(sql);
    //获得 纪录元数据对象
    ResultSetMetaData rsmd = rs.getMetaData();
    //得到纪录的总列数
    int numberOfColumns = rsmd.getColumnCount();//开始循环
    for (int i = 0; i < numberOfColumns; i++)
    {
    %>
    //获得每一列的列名
    <th><%= rsmd.getColumnName(i + 1) %></th>
    <%
    }
    %>
      </tr>
    <%
    while (rs.next())
    {
    %>
      <tr>
    <%
    for (int i = 0; i < numberOfColumns; i++)
    {
    %>    
    //获得列的内容 
        <td><%=rs.getString(i + 1)%></td>
    <%
    }
    %>    
      </tr>
    <%
      

  2.   

    最常用的这个类的一个方法就是getColumnCount(),用此方法可以得到当前
    ResultSet中的字段列数取出