JSP,JAVA查看数据库表结构|查看数据库结构
网站中经常用到的是数据库中的记录,然而有的时候我们需要对数据库的表机构也要了解
怎么样用jsp来获取数据库表的结构呢.在java中提供了DatabaseMetaData和ResultSetMetaData两种类他可以帮助我们解决这个问题.示例为取得表的结构的一些常用方法.
1.数据库介绍
类型:mssql数据库:pubs表:employee字段:emp_idfnameminit
2.用下面的代码执行
代码片段:
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connectioncon=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs","wzh","*****");
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSetrs=stmt.executeQuery("select*fromemployee");
ResultSetMetaDatarsmd=rs.getMetaData();
Stringclmname="
";
Stringclmtype="";
Stringclmsize="";
Stringnulllog="";
Stringincrease="";
for(inti=1;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("
列名 类型 大小 null increase "+rsmd.getColumnName(i)+" "+rsmd.getColumnTypeName(i)+" "+rsmd.getColumnDisplaySize(i)+" "+rsmd.isNullable(i)+" "+rsmd.isAutoIncrement(i)+"");
rs.close();stmt.close();
con.close();
}
catch(Exceptione)
{
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列是否为自动增长