网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  表的信息的获得---resultsetmetadata     
  文章作者:未知  文章来源:水木森林  
  查看:102次  录入:管理员--2007-11-17  
 
  在这个演示程序中用到数据库是access的,数据库中的表的名字是studentinfo表,包含字段有
  
  idno 文本型 长为8
  
  name 文本型 长为8
  
  sex 文本型 长为6
  
  age 数值型 长为8
  
  birthdt 文本型 长为8
  
  程序中主要是操作这个表,选择的驱动是odbc。程序如下:
  
  import java.sql.*;
  
  public class dbaccess {
  
   public static java.sql.connection conn = null;
  
   private string sqlstr = "";
  
   public dbaccess()
  
   {
  
    //new sun.jdbc.odbc.jdbcodbcdriver();
  
    try {
  
     class.forname("sun.jdbc.odbc.jdbcodbcdriver");
  
     conn = drivermanager.getconnection("jdbc:odbc:testdb","admin","");
  
    }
  
    catch (classnotfoundexception ex) {
  
     system.out.println(ex.tostring());
  
    }
  
    catch(sqlexception sqlex){
  
     system.out.println(sqlex.tostring());
  
    }
  
   }
  
  public resultset search() {
  
    resultset rset = null;
  
    sqlstr = "select * from studentinfo";
  
    statement smt = null;
  
    try {
  
     smt = conn.createstatement();
  
     rset = smt.executequery(sqlstr);
  
    }
  
    catch (sqlexception ex) {
  
     system.out.println("exception:"+ex.tostring());
  
    }
  
    return rset;
  
  
  
   }
  
   public void getresultsetmetadata()
  
   {
  
    resultset rs = null;
  
   try {
  
    string[] tp = {"table"};
  
    rs = this.search();
  
    resultsetmetadata rsmd = rs.getmetadata();  
  
  /*
  
  获得resultsetmeatadata对象。所有方法的参数都是列的索引号,即第几列,从1开始
  
  */
  
    system.out.println("下面这些方法是resultsetmetadata中方法");
  
    system.out.println("获得1列所在的catalog名字 : " + rsmd.getcatalogname(1));
  
    system.out.println("获得1列对应数据类型的类 " + rsmd.getcolumnclassname(1));
  
    system.out.println("获得该resultset所有列的数目 " + rsmd.getcolumncount());
  
    system.out.println("1列在数据库中类型的最大字符个数" + rsmd.getcolumndisplaysize(1));
  
    system.out.println(" 1列的默认的列的标题" + rsmd.getcolumnlabel(1));
  
    system.out.println(“1列的模式” + rsmd.getschemaname(1));
  
    system.out.println("1列的类型,返回sqltype中的编号 " + rsmd.getcolumntype(1));
  
    system.out.println("1列在数据库中的类型,返回类型全名" + rsmd.getcolumntypename(1));
  
    system.out.println("1列类型的精确度(类型的长度): " + rsmd.getprecision(1));
  
    system.out.println("1列小数点后的位数 " + rsmd.getscale(1));
  
    system.out.println("1列对应的模式的名称(应该用于oracle) " + rsmd.getschemaname(1));
  
    system.out.println("1列对应的表名 " + rsmd.gettablename(1));
  
    system.out.println(“1列是否自动递增” + rsmd.isautoincrement(1));
  
    system.out.println(“1列在数据库中是否为货币型” + rsmd.iscurrency(1));
  
    system.out.println(“1列是否为空” + rsmd.isnullable(1));
  
    system.out.println(“1列是否为只读” + rsmd.isreadonly(1));
  
    system.out.println(“1列能否出现在where中” + rsmd.issearchable(1)); 
  
   }
  
   catch (sqlexception ex) {
  
    ex.printstacktrace();
  
   }
  
   }
  
   public static void main(string args[])
  
   {
  
    dbaccess dbaccess = new dbaccess();
  
    dbaccess.getresultsetmetadata();
  
   }
  
  }
  通过上面例子中的方法能够获得,resultset中的表的信息,有两个方法的用法我也不甚清楚,所以没写,弄明白了再作补充。
 
 
上一篇: 怎样为java应用程序设置时间区    下一篇: what is aspectj
  相关文档
struts 框架之构建 model组件 11-17
xml——连接sql和web程序的桥梁(图) 11-17
java中threadlocal的设计与使用 11-16
设计java程序与c语言的接口 11-16
3d建模技巧 11-17
think in java 3rd 中文版11 11-17
java对domino objects的访问控制 11-17
java 的socket机制 11-17
effective java学习笔记5:消除对过期对象的引用 11-17
swing读书笔记事件处理 11-17
java学习-----理解面向对象的程序设计 02-02
java中的annotation解析 11-17
用jstl标签访问list且判断list的选中项 12-28
java关键字new和newinstance的区别方法 04-11
在freebsd 4.9下安装java环境 11-17
sql server2000+jdbc常见问题及解决 11-16
如何在applet中引用jar中的资源文件 11-17
一个socket服务的例子! 请高手指点无法捕捉的输出如何修改? 11-17
bean里面如何打印到html页面 11-17
网络数据流的java处理(2) 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息