分享

JSP,JAVA查看数据库表结构

 昵称2807 2007-05-10
网站中经常用到的是数据库中的记录,然而有的时候我们需要对数据库的表机构也要了解
怎么样用jsp来获取数据库表的结构呢.在java中提供了DatabaseMetaData和ResultSetMetaData两种类他可以帮助我们解决这个问题.示例为取得表的结构的一些常用方法.

1.数据库介绍
类型:mssql  数据库:pubs  表:employee 字段: emp_id fname minit 

2.用下面的代码执行
代码片段:
<% 
try 

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs","wzh","*****"); 
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rs=stmt.executeQuery("select * from employee"); 
ResultSetMetaData rsmd = rs.getMetaData(); 
String clmname="<tr><td>列名</td>"; 
String clmtype="<tr><td>类型</td>"; 
String clmsize="<tr><td>大小</td>"; 
String nulllog="<tr><td>null</td>"; 
String increase = "<tr><td>increase</td>"; 
for(int i=1;i<=rsmd.getColumnCount();i++) 

   clmname=clmname+"<td>"+rsmd.getColumnName(i)+"</td>"; 
   clmtype=clmtype+"<td>"+rsmd.getColumnTypeName(i)+"</td>"; 
   clmsize=clmsize+"<td>"+rsmd.getColumnDisplaySize(i)+"</td>"; 
   nulllog = nulllog+"<td>"+rsmd.isNullable(i)+"</td>"; 
   increase = increase+"<td>"+rsmd.isAutoIncrement(i)+"</td>"; 

clmname=clmname+"</tr>"; 
clmtype=clmtype+"</tr>"; 
clmsize=clmsize+"</tr>"; 
out.println("<table width=100% border=1>"); 
out.println(clmname); 
out.println(clmtype); 
out.println(clmsize); 
out.println(nulllog); 
out.println(increase); 
out.println("</table>"); 
rs.close(); 
stmt.close(); 
con.close(); 

catch(Exception e) 

    out.println(e); 

%> 
3.执行结果
  
   可以看到emploee的表的结构就展现在我们的眼前了.
4.代码解释
提示:
rsmd.getColumnCount() 取得表中的列的总数 
rsmd.getColumnName(i) 取得第i列的名称 
rsmd.getColumnTypeName(i) 取得第i列的类型 
rsmd.getColumnDisplaySize(i) 取得第i列的显示大小 
rsmd.isNullable(i) 判断第i列是能否为空 
rsmd.isAutoIncrement(i) 判断第i列是否为自动增长

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多