Java 可滚动结果集(JDBC)的createStatement参数之间的差异

Java 可滚动结果集(JDBC)的createStatement参数之间的差异,java,jdbc,Java,Jdbc,据我所知,可滚动结果集的语句对象如下所示 Statement statement = connection.createStatement(P1, P2); 这是P1可能需要的时间 ResultSet.TYPE_SCROLL_SENSITIVE ResultSet.TYPE_SCROLL_INSENSITIVE ResultSet.CONCUR_READ_ONLY ResultSet.CONCUR_UPDATABLE P2可能需要 ResultSet.TYPE_SCROLL_SENSITI

据我所知,可滚动结果集的语句对象如下所示

Statement statement = connection.createStatement(P1, P2);
这是P1可能需要的时间

ResultSet.TYPE_SCROLL_SENSITIVE
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.CONCUR_READ_ONLY
ResultSet.CONCUR_UPDATABLE
P2可能需要

ResultSet.TYPE_SCROLL_SENSITIVE
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.CONCUR_READ_ONLY
ResultSet.CONCUR_UPDATABLE
SCROLL_SENSIVITE或INSENSITIVE指示 结果集是否会影响实际数据库。(某种只读或可更新)

这两个参数有点相似,我觉得它们实现的目的是一样的


它们有什么不同,或者我在这里遗漏了什么?

第二个参数
CONCUR.*
确定您是否可以通过
结果集修改数据库
TYPE_SCROLL_(IN)SENSITIVE
确定在滚动
结果集时,您是否可以看到对基础行所做的修改。因此,
不敏感
为结果提供了一个“快照”视图,它们永远不会改变
SENSITIVE
提供了一个“实时”视图,因此如果长时间滚动结果,您可以看到与查询最初返回的值非常不同的值


相关,但它们是“相反的方面”。

第二个参数
CONCUR.*
确定您是否可以通过
结果集修改数据库
TYPE_SCROLL_(IN)SENSITIVE
确定在滚动
结果集时,您是否可以看到对基础行所做的修改。因此,
不敏感
为结果提供了一个“快照”视图,它们永远不会改变
SENSITIVE
提供了一个“实时”视图,因此如果长时间滚动结果,您可以看到与查询最初返回的值非常不同的值


相关,但它们是“对立的双方”。

用“由他人作出”或类似的词语来澄清第二句话。不一定是其他人,也可能是关于自己在结果集之外所做的更改(例如在同一交易中使用另一条语句)。用“由他人作出”来澄清第二句话,或者诸如此类。不一定是其他人,也可能是您自己在结果集之外所做的更改(例如在同一事务中使用另一条语句)。@Mark Sorry没有得到。哪个部分似乎不正确??但是从一本书中得到了上述内容。这句话完全错误,这不是
TYPE\u SCROLL\u SENSITIVE
/
TYPE\u SCROLL\u SENSITIVE
的意思;那么,该引用的来源是什么呢?除此之外,
P1
还采用了
TYPE\u FORWARD\u ONLY
,它可能仍然是只读的或可更新的……很抱歉造成混淆。是的,
P1
也可以采用
仅向前键入\/code>,这使得结果集仅向前移动。我怀疑其他两个resultSetType。基本上,这两个参数(P1和P2)都让我感到困惑。我想知道,它们的实际含义和用例是什么。它们是两个完全不同的东西:P1定义滚动,以及是否在结果集之外对更新敏感,P2是否可以通过结果集进行更新,正如Kayaman已经回答的那样。@Mark抱歉没有得到答案。哪个部分似乎不正确??但是从一本书中得到了上述内容。这句话完全错误,这不是
TYPE\u SCROLL\u SENSITIVE
/
TYPE\u SCROLL\u SENSITIVE
的意思;那么,该引用的来源是什么呢?除此之外,
P1
还采用了
TYPE\u FORWARD\u ONLY
,它可能仍然是只读的或可更新的……很抱歉造成混淆。是的,
P1
也可以采用
仅向前键入\/code>,这使得结果集仅向前移动。我怀疑其他两个resultSetType。基本上,这两个参数(P1和P2)都让我感到困惑。我想知道,它们的实际含义和用例是什么。它们是两个完全不同的东西:P1定义了滚动,以及滚动是否对结果集之外的更新敏感,P2是否可以通过结果集进行更新,正如Kayaman已经回答的那样。