当前页面: 开发资料首页 → JSP 专题 → 请问怎么确定数据库里面有多少个列
请问怎么确定数据库里面有多少个列
摘要: 请问怎么确定数据库里面有多少个列
请问怎么确定数据库里面有多少列阿?
请看下例中,如果不知道数据库中有多少列,但想把所有的列都显示出来,怎么办?
我也知道下面的例子不对!
谢谢大家!
<%
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++;
}
%>
<%}%>
<%out.print("Good lock !");%>
<%
rs.close();
stmt.close();
connection.close();
%>
ResultSet rs= null;
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
rs.getString(i)有效
没看清,判断是不行的,但可以给int,就是列的顺序
如果数据类型不对怎么办?
也可以得到数据类型
rsmd.getColumnType方法
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
getMetaData()和getColumnCount()分别是什么?
我自己再查一下吧!
谢谢了!
Ok ,谢谢!
我已经能显示所有的行和列了!但是有这么个问题,在Sql的表中总共有10000多行,但是最后Jsp显示出来只有百八十行 。。。。。
再次请教这个问题,代码如下!
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<head>
JSP Page </head>
<body>
JSP Page
<%
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() + "
"); Get how many Columns
// out.println(mdrs.getColumnName(1) + "
"); 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>
---------------------------------------------
另还有个小问题,我的表格里面Withd怎么不起作用!?