请问怎么确定数据库里面有多少列阿?
请看下例中,如果不知道数据库中有多少列,但想把所有的列都显示出来,怎么办?
我也知道下面的例子不对!谢谢大家! <%
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();
%>
请看下例中,如果不知道数据库中有多少列,但想把所有的列都显示出来,怎么办?
我也知道下面的例子不对!谢谢大家! <%
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();
%>
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
rs.getString(i)有效
int columnCount = rsmd.getColumnCount();getMetaData()和getColumnCount()分别是什么?我自己再查一下吧!谢谢了!
再次请教这个问题,代码如下!<%@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怎么不起作用!?