javatm platform
standard ed. 6

javax.sql.rowset
接口 jdbcrowset

所有【all】超级接口:
joinable, resultset, rowset, wrapper

public interface jdbcrowset
extends rowset, joinable

所有标准 jdbcrowset 实现都必须实现的标准接口。

1.0 概述

resultset 对象的包装器使得将该结果集用作 javabeanstm 组件成为【Become】可能【would】。因此【therefore】,jdbcrowset 对象可以【can】是某个 beans,是可用于组成应用程序的工具。因为 jdbcrowset 是一个连接的 rowset,也就是说,它使用启用 jdbc 技术的驱动程序来维持它与数据库的连接,所以它也能有效地使驱动程序成为【Become】 javabeans 组件。

因为它始终连接到其数据库,所以 jdbcrowset 的实例可以【can】简单地采用在其上进行调用的方法,并依次对其 resultset 对象调用这些方法。因此【therefore】,结果集可以是(举例来说)swing 应用程序中的一个组件。

jdbcrowset 对象的另一个优点是可使用它让 resultset 对象可滚动和可更新。默认情况下,所有 rowset 对象都是可滚动的和可更新的。如果使用的驱动程序和数据库不支持【zhī chí】结果集的滚动和/或更新,则应用程序可以组装一个带 resultset 对象数据的 jdbcrowset 对象,然后在该 jdbcrowset 对象上操作,就好像它是 resultset 对象一样。

2.0 创建 jdbcrowset 对象

jdbcrowset 接口的参考实现 jdbcrowsetimpl 提供了默认构造方法的实现。使用默认值初始化新的实例,可根据需要使用新值设置这些默认值。在调用新实例的 execute 方法之前,它实际上无法【to be】真正发挥作用。通常,此方法执行以下操作:如果 execute 方法执行成功【chéng gōng】,则使用以下内容设置适当的私有 jdbcrowset 字段:如果尚未设置这些字段,则意味着尚未成功【chéng gōng】执行 execute 方法,此时除 executeclose 以外,不能在该 rowset 上调用任何方法。调用所有其他【qí tā】公共方法都会抛出异常。

但是【dàn shì】在调用 execute 方法之前,必须设置那些建立连接所需的命令【orders】和属性。以下代码片断创建了一个 jdbcrowsetimpl 对象、设置命令连接属性、设置占位符参数,然后调用方法 execute

 jdbcrowsetimpl jrs=new jdbcrowsetimpl(); jrs.setcommand("select * from titles where type=?"); jrs.seturl(/img/pxowpc.png); jrs.setusername("cervantes"); jrs.setpassword("sancho"); jrs.setstring(1, "biography"); jrs.execute(); 
变量 jrs 现在表示一个 jdbcrowsetimpl 实例,它是 resultset 对象的一个瘦包装器,而该对象包含了表 titles 中书籍类型为传记的所有行。此时,在 jrs 上调用的操作将影响结果集中的各行,该结果集实际上是一个 javabeans 组件。

jdbcrowset 参考实现中的 rowset 方法 execute 的实现与 cachedrowsettm 参考实现中的不同,从而导致对已连接和非连接 rowset 对象的不同要求。


字段摘要
 
从接口 java.sql.resultset 继承的字段
close_cursors_at_commit, concur_read_only, concur_updatable, fetch_forward, fetch_reverse, fetch_unknown, hold_cursors_over_commit, type_forward_only, type_scroll_insensitive, type_scroll_sensitive
 
方法摘要
 voidcommit()
          每个 jdbcrowset 都包含一个取自 resultsetconnection 对象或传递到其构造方法的 jdbc 属性。
 booleangetautocommit()
          每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。
 rowsetwarninggetrowsetwarnings()
          获取此 jdbcrowset 对象上的调用报告的第一个警告。
 booleangetshowdeleted()
          获取一个 boolean 值,该值指示标记为删除的行是否会出现【chū xiàn】在当前行集合中。
 voidrollback()
          每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。
 voidjs随机数rollback(savepoint s)
          每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。
 voidsetautocommit(boolean autocommit)
          每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。
 voidsetshowdeleted(boolean b)
          将属性 showdeleted 设置为给定的 boolean 值。
 
从接口 javax.sql.rowset 继承的方法
addrowsetlistener, clearparameters, execute, getcommand, getdatasourcename, getescapeprocessing, getmaxfieldsize, getmaxrows, getpassword, getquerytimeout, gettransactionisolation, gettypemap, geturl, getusername, isreadonly, removerowsetlistener, setarray, setasciistream, setasciistream, setasciistream, setasciistream, setbigdecimal, setbigdecimal, setbinarystream, setbinarystream, setbinarystream, setbinarystream, setblob, setblob, setblob, setblob, setblob, setblob, setboolean, setboolean, setbyte, setbyte, setbytes, setbytes, setcharacterstream, setcharacterstream, setcharacterstream, setcharacterstream, setclob, setclob, setclob, setclob, setclob, setclob, setcommand, setconcurrency, setdatasourcename, setdate, setdate, setdate, setdate, setdouble, setdouble, setescapeprocessing, setfloat, setfloat, setint, setint, setlong, setlong, setmaxfieldsize, setmaxrows, setncharacterstream, setncharacterstream, setncharacterstream, setncharacterstream, setnclob, setnclob, setnclob, setnclob, setnclob, setnclob, setnstring, setnstring, setnull, setnull, setnull, setnull, setobject, setobject, setobject, setobject, setobject, setobject, setpassword, setquerytimeout, setreadonly, setref, setrowid, setrowid, setshort, setshort, setsqlxml, setsqlxml, setstring, setstring, settime, settime, settime, settime, settimestamp, settimestamp, settimestamp, settimestamp, settransactionisolation, settype, settypemap, seturl, seturl, setusername
 
从接口 java.sql.resultset 继承的方法
absolute, afterlast, beforefirst, cancelrowupdates, clearwarnings, close, deleterow, findcolumn, first, getarray, getarray, getasciistream, getasciistream, getbigdecimal, getbigdecimal, getbigdecimal, getbigdecimal, getbinarystream, getbinarystream, getblob, getblob, getboolean, getboolean, getbyte, getbyte, getbytes, getbytes, getcharacterstream, getcharacterstream, getclob, getclob, getconcurrency, getcursorname, getdate, getdate, getdate, getdate, getdouble, getdouble, getfetchdirection, getfetchsize, getfloat, getfloat, getholdability, getint, getint, getlong, getlong, getmetadata, getncharacterstream, getncharacterstream, getnclob, getnclob, getnstring, getnstring, getobject, getobject, getobject
大家有看过《蓝色小精灵》吗?那可是时凄小时候【When】最喜欢【xǐ huan】的漫画,记得有一阵子还有订购月刊还是半月刊之类的,每个月都好期待书寄来的那一天
这些债务就像滚雪球般越滚越大,为了躲避追债,31名信徒躲到位于龙仁的工艺品工厂的天花板,直到1987年8月29日
马克思是莎瓦娜的幼时玩伴,平常就会常常再一起【yī qǐ】生活打闹,这天在雪停了的日子,马克思在和莎瓦娜你追我跑,不仅【bù jǐn】仅只是在雪地上面疾走,遇到障碍物也丝毫不在意【zài yì】,咻的一声就跳过去!
地点在纽约,一位目击者亲眼看见一名女性因吸食毒品而丧失人性,她不仅【bù jǐn】身体不停【back again】抽蓄、无法【to be】自行走路【zǒu lù】,甚至连眼神都不太像人类,嘴里发出
,他们将GPS、微处理器、无线电等装饰安装在狗用外衣上,然后训练小狗对一系列由震动和声音组成的指令做出回应,主人只要透过遥控装置就能操纵爱【love】犬去遛狗?
, getobject, getref, getref, getrow, getrowid, getrowid, getshort, getshort, getsqlxml, getsqlxml, getstatement, getstring, getstring, gettime, gettime, gettime, gettime, gettimestamp, gettimestamp, gettimestamp, gettimestamp, gettype, getunicodestream, getunicodestream, geturl, geturl, getwarnings, insertrow, isafterlast, isbeforefirst, isclosed, isfirst, islast, last, movetocurrentrow, movetoinsertrow, next, previous, refreshrow, relative, rowdeleted, rowinserted, rowupdated, setfetchdirection, setfetchsize, updatearray, updatearray, updateasciistream, updateasciistream, updateasciistream, updateasciistream, updateasciistream, updateasciistream, updatebigdecimal, updatebigdecimal, updatebinarystream, updatebinarystream, updatebinarystream, updatebinarystream, updatebinarystream, updatebinarystream, updateblob, updateblob, updateblob, updateblob, updateblob, updateblob, updateboolean, updateboolean, updatebyte, updatebyte, updatebytes, updatebytes, updatecharacterstream, updatecharacterstream, updatecharacterstream, updatecharacterstream, updatecharacterstream, updatecharacterstream, updateclob, updateclob, updateclob, updateclob, updateclob, updateclob, updatedate, updatedate, updatedouble, updatedouble, updatefloat, updatefloat, updateint, updateint, updatelong, updatelong, updatencharacterstream, updatencharacterstream, updatencharacterstream, updatencharacterstream, updatenclob, updatenclob, updatenclob, updatenclob, updatenclob, updatenclob, updatenstring, updatenstring, updatenull, updatenull, updateobject, updateobject, updateobject, updateobject, updateref, updateref, updaterow, updaterowid, updaterowid, updateshort, updateshort, updatesqlxml, updatesqlxml, updatestring, updatestring, updatetime, updatetime, updatetimestamp, updatetimestamp, wasnull
 
从接口 java.sql.wrapper 继承的方法
iswrapperfor, unwrap
 
从接口 javax.sql.rowset.joinable 继承的方法
getmatchcolumnindexes, getmatchcolumnnames, setmatchcolumn, setmatchcolumn, setmatchcolumn, setmatchcolumn, unsetmatchcolumn, unsetmatchcolumn, unsetmatchcolumn, unsetmatchcolumn
 

方法详细小緂ǎn】畔

getshowdeleted

boolean getshowdeleted()    throws sqlexception
获取一个 boolean 值,该值指示标记为删除的行是否会出现【chū xiàn】在当前行集合中。如果返回 true,则已删除行与当前行一起【yī qǐ】可见。如果返回 false,则已删除行与当前行集合一起不可见。默认值为 false

出于安全【safest】考虑或为了某些部署情况,标准的 rowset 实现可以选择限制此行为。已删除行的可见性是实现定义的,并不表示标准行为。

注:允许【yǔn xǔ】保持已删除行可见会使某些标准 jdbc rowset 实现方法的行为变得复杂。但是【dàn shì】,多数 rowset 用户可以简单地忽略此额外细节,因为只有极其特殊的应用程序才会利用此功能。

返回:
如果已删除行是可见的,则返回 true;否则返回 false
抛出:
sqlexception - 如果 rowset 实现无法确定是否使标记为删除的行保持可见
另请参见:
setshowdeleted(boolean)

setshowdeleted

void setshowdeleted(boolean b)    throws sqlexception
将属性 showdeleted 设置为给定的 boolean 值。此属性确定标记为删除的行是否继续出现在当前行集合中。如果将值设置为 true,则已删除行与当前行集合一起立即可见。如果将值设置为 false,则已删除行与当前行集合一起被设置为不可见。

出于安全【safest】考虑或为了某些部署情况,标准的 rowset 实现可以选择限制此行为。这是由实现定义的,并不表示标准行为。

参数:
b - 如果应该【yīng gāi】显示已删除行,则为 true;否则为 false
抛出:
sqlexception - 如果 rowset 实现无法重置已删除行是否应该【yīng gāi】可见
另请参见:
getshowdeleted()

getrowsetwarnings

rowsetwarning getrowsetwarningsjs随机数()      throws sqlexception
获取此 jdbcrowset 对象上的调用报告的第一个警告。如果此 jdbcrowset 对象上报告了第二个警告,则将它链接到第一个警告,并可通过在第一个警告上调用方法 rowsetwarning.getnextwarning 来获取该警告。此 jdbcrowset 对象上的后续警告会被链接到方法 rowsetwarning.getnextwarning 返回的 rowsetwarning 对象。每次读取新行时,都会自动清除警告链。不可以在已经【yǐ jing】关闭的 rowset 对象上调用此方法;这样【then】做将导致抛出 sqlexception

因为 jdbcrowset 对象始终连接到其数据源,所以该对象可以依靠现有的活动 statementconnectionresultset 实例。这意味着应用程序可以通过调用 getnextwarning 方法来获得所提供的附加 sqlwarning 通知【supercup】。非连接 rowset 对象(如 cachedrowset 对象)不必访问【fǎng wèn】这些 getnextwarning 方法。

返回:
jdbcrowset 对象上报告第一个 rowsetwarning 对象,如果没有则为 null
抛出:
sqlexception - 如果在已关闭的 jdbcrowset 对象上调用此方法
另请参见:
rowsetwarning

commit

void commit()  throws sqlexception
每个 jdbcrowset 都包含一个取自 resultsetconnection网站地图 手机端 对象或传递到其构造方法的 jdbc 属性。此方法包装 connection 提交方法,以允许【yǔn xǔ】灵活的自动提交或非自动提交事务控制支持【zhī chí】。

使自从上一次提交/回滚以来进行的所有更改成为持久更改,并释放此 connection 对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。

抛出:
sqlexception - 如果发生【occasionally occurred】数据库访问【fǎng wèn】错误或者此 jdbcrowset 内的 connection 对象处于自动提交模式下
另请参见:
connection.setautocommit(boolean)

getautocommit

boolean getautocommit()     throws sqlexception
每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。此方法包装 connectiongetautocommit 方法,以允许应用程序确定 jdbcrowset 的事务行为。

将此 connection 的自动提交模式设置为给定的状态。如果 connection 处于自动提交模式下,则将执行其所有 sql 语句,并将这些语句作为单独【alone】的事务提交。否则,其 sql 语句将成组地进入通过调用 commit 方法或 rollback 方法终止的事务中。默认情况下,新的 connection 处于自动提交模式下。

抛出:
sqlexception - 如果发生【occasionally occurred】数据库访问错误
另请参见:
connection.getautocommit()

setautocommit

void setautocommit(boolean autocommit)    throws sqlexception
每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。此方法包装 connectiongetautocommit 方法,以允许应用程序设置 jdbcrowset 的事务行为。

设置此 connection 对象的当前自动提交模式。

抛出:
sqlexception - 如果发生数据库访问错误
另请参见:
connection.setautocommit(boolean)

rollback

void rollback()   throws sqlexception
每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。取消在当前事务中进行的所有更改,并释放此 connection 对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。

抛出:
sqlexception - 如果发生数据库访问错误或者此 jdbcrowset 内的 connection 对象处于自动提交模式下。
另请参见:
rollback(savepoint)

rollback

void rollback(savepoint s)   throws sqlexception
每个 jdbcrowset 都包含一个取自原始 resultsetconnection 对象或传递给它的 jdbc 属性。取消在当前事务中进行的所有更改,一直到最后设置的保存点,并释放此 connection 对象当前保存的所有数据库锁定。此方法应该只在已禁用自动提交模式时使用。

抛出:
sqlexception - 如果发生数据库访问错误或者此 jdbcrowset 内的 connection 对象处于自动提交模式下。
另请参见:
rollback()

javatm platform
standard ed. 6

提交错误或意见【remark】
有关更多的 api 参考资料和开发【kāi fā】人员文档,请参阅 java se 开发【kāi fā】人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作【gōng zuò】代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策