Chinaunix首页 | 论坛 | 博客
  • 博客访问: 969854
  • 博文数量: 168
  • 博客积分: 3853
  • 博客等级: 中校
  • 技术积分: 1854
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-15 23:50
文章分类

全部博文(168)

文章存档

2014年(12)

2013年(46)

2012年(60)

2011年(11)

2010年(1)

2009年(17)

2008年(21)

我的朋友

分类: 数据库开发技术

2012-09-10 09:11:34

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

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

2.用下面的代码执行
"; 
String clmtype=""; 
String clmsize=""; 
String nulllog=""; 
String increase = ""; 
for(int i=1;i<=rsmd.getColumnCount();i++) 

   clmname=clmname+""; 
   clmtype=clmtype+""; 
   clmsize=clmsize+""; 
   nulllog = nulllog+""; 
   increase = increase+""; 

clmname=clmname+""; 
clmtype=clmtype+""; 
clmsize=clmsize+""; 
out.println(""); 
out.println(clmname); 
out.println(clmtype); 
out.println(clmsize); 
out.println(nulllog); 
out.println(increase); 
out.println("
代码片段:
<% 
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="
列名
类型
大小
null
increase"+rsmd.getColumnName(i)+""+rsmd.getColumnTypeName(i)+""+rsmd.getColumnDisplaySize(i)+""+rsmd.isNullable(i)+""+rsmd.isAutoIncrement(i)+"
"); 
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列是否为自动增长
 
阅读(2425) | 评论(0) | 转发(0) |
0

上一篇:yingyong

下一篇:html5中的Viewport的标签解释

给主人留下些什么吧!~~