中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 数据库
JAVA-数据库-使用JDBC创建数据库对象(5)
作者:未知 时间:2006-06-16 21:50 出处:网络转载 责编:LOKI
              摘要:暂无
使用JDBC创建数据库对象(5)

· 构建更高级别的JDBC对象

从上面的例子可以明显看出,如果可以将我们使用过的一些方法封装在几个更高级别对象中,那将非常有帮助,我们不仅可以封装 y 程序块,而且可以更简单地访问 ResultSet 方法。

在这一部分中,我们将构建一个新的 resultSet 对象,该对象封装了JDBC ResultSet 对象,并以Sing数组的形式返回一行数据。我们发现您始终需要从 ResultSetMetaData 对象中获取列的序号和名称,因此,创建一个封装元数据的新对象就非常合理。

另外,我们经常需要按名称或整数索引提取某行的元素,如果不必总是将这些访问语句包括 y 块中,那将大有帮助。最后一点,如果我们需要整行的内容,则更方便的做法是将整行以Sing数组形式返回。在下面所示的 resultSet 对象中,我们致力于实现这些目标:

< cellspacing="0"> < bgcolor="#CCCCCC"> class resultSet
{
//
这个类是
JDBC ResultSet
对象的更高级抽象

ResultSet rs;
ResultSetMetaData rsmd;
int numCols;
public resultSet(ResultSet rset)
{
rs = rset;
y
{
//
同时获取元数据和列数

rsmd = rs.getMetaData();
numCols = rsmd.getColumnCount();
}
catch (Exception e)
{System.out.println("resultset error"
e.getMessage());}
}
//--
public Sing[] getMetaData()
{
//
返回包含所有列名或其他元数据的

//
一个数组

Sing md[] = new Sing[numCols];
y
{
for (int i=1; i<= numCols; i )
md[i-1] = rsmd.getColumnName(i);
}
catch (Exception e)
{System.out.println("meta data error"
e.getMessage());}
return md;
}
//--
public boolean hasMoreElements()
{
y{
return rs.next();
}
catch(Exception e){return false;}
}
//--
public Sing[] nextElement()
{
//
将行的内容复制到字符串数组中

Sing[] row = new Sing[numCols];
y
{
for (int i = 1; i <= numCols; i )
row[i-1] = rs.getSing(i);
}
catch (Exception e)
{System.out.println("next element error"
e.getMessage());}
return row;
}
//--
public Sing getColumnValue(Sing columnName)
{
Sing res = "";
y
{
res = rs.getSing(columnName);
}
catch (Exception e)
{System.out.println("Column value error:"
columnName e.getMessage());}
return res;
}
//--
public Sing getColumnValue(int i)
{
Sing res = "";
y
{
res = rs.getSing(i);
}
catch (Exception e)
{System.out.println("Column value error:"
columnName e.getMessage());}
return res;
}
//--
public void finalize()
{
y{rs.close();}
catch (Exception e)
{System.out.println(e.getMessage());}
}
}
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有