请问怎么确定数据库里面有多少列阿?
请看下例中,如果不知道数据库中有多少列,但想把所有的列都显示出来,怎么办?
我也知道下面的例子不对!谢谢大家!    <%
       Connection connection; // = null;
        String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
        String url = "jdbc:microsoft:sqlserver://92.56.16.2:1433;DatabaseName=northwind";
        String username = "sa";        
        String password = "dxj710223";            // Load the JDBC driver        
        Class.forName(driverName);            // Create a connection to the database        
        connection = DriverManager.getConnection(url, username, password);    
        Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
   String sql="select * from products"; 
   ResultSet rs=stmt.executeQuery(sql); 
   while(rs.next()) 

       int i=1;
       while(rs.getString(i))  //不知道怎么判断rs.getString(i)是否有效!????
       {
           out.print(rs.getString(i)+"|");
           i++;
       }
        
%>
  <br>
  <%}%>
<%out.print("Good lock !");%> 
<%
   rs.close(); 
   stmt.close(); 
   connection.close(); 
%>

解决方案 »

  1.   

    ResultSet rs= null;
    ResultSetMetaData rsmd = rs.getMetaData();
    int columnCount = rsmd.getColumnCount();
    rs.getString(i)有效
      

  2.   

    没看清,判断是不行的,但可以给int,就是列的顺序
      

  3.   

    ResultSetMetaData rsmd = rs.getMetaData();
    int columnCount = rsmd.getColumnCount();getMetaData()和getColumnCount()分别是什么?我自己再查一下吧!谢谢了!
      

  4.   

    我已经能显示所有的行和列了!但是有这么个问题,在Sql的表中总共有10000多行,但是最后Jsp显示出来只有百八十行 。。
    再次请教这个问题,代码如下!<%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%> <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>    <h1>JSP Page</h1>
        <%
           out.print("Good lock !");
           Connection connection; // = null;
            String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
            String url = "jdbc:microsoft:sqlserver://192.56.16.2:1433;DatabaseName=oa_db";
            String username = "sa";        
            String password = "770223";            // Load the JDBC driver        
            Class.forName(driverName);            // Create a connection to the database        
            connection = DriverManager.getConnection(url, username, password);    
            DatabaseMetaData dbmd = connection.getMetaData();
            Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
            String sql="select * from TsFWJLB"; 
            ResultSet rs=stmt.executeQuery(sql); 
            ResultSetMetaData mdrs=rs.getMetaData();    
    //        out.println(mdrs.getColumnCount() + "<br>");   Get how many Columns
    //        out.println(mdrs.getColumnName(1) + "<br>");   Get Colunm 's Name'
           %>
        <TABLE Width="500" BORDER="1" >
            <tr>
            <%
                  for(int i=1;i <= mdrs.getColumnCount();i++)
        {
            %>
            <td>
            <%
      out.print(mdrs.getColumnName(i));
            %>
            <td>
            <%
        }
            %>
            <tr>
            <%
       while(rs.next()) 

            %>
            <tr>
            <%
           for(int i=1;i <= mdrs.getColumnCount();i++)
        {
            %>
            <td>
            <%
      out.print(rs.getString(i)) ;
            %>
            <td>
            <%
        }
    %>
    <tr>
      <%}
                    %>
        </TABLE>
            <%
       rs.close(); 
       stmt.close(); 
       connection.close(); 
    %> 
        
        </body>
    </html>
    ---------------------------------------------另还有个小问题,我的表格里面Withd怎么不起作用!?