【发布时间】:2014-10-24 11:10:20
【问题描述】:
我试图了解这两种创建语句的方法之间的区别:
1:
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
2:
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
第二个参数相同但第一个 - 不同
来自 java 文档:
resultSetType- 结果集类型;ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE之一
和
TYPE_SCROLL_INSENSITIVE
指示ResultSet对象类型的常量,该对象可滚动,但通常对ResultSet基础数据的更改不敏感。
TYPE_SCROLL_SENSITIVE
指示ResultSet对象类型的常量,该对象可滚动并且通常对ResultSet基础数据的更改敏感。
因此,我想展示ResultSet 的底层敏感度之间的差异。我想了解这种“对ResultSet 基础数据的更改敏感”(来自Javadoc)的含义。
请提供一个示例来说明和解释差异。
【问题讨论】:
-
看起来你可以用
rowset.previous()向后迭代只有在设置了不敏感标志的情况下。看起来不是特别有用。 -
我认为这个选项名称为“可滚动”,并且在问题中提到的两个参数都是可滚动的
-
两者都可以滚动,但只能向后滚动不敏感。
-
看起来你说的是 ResultSet.TYPE_FORWARD_ONLY
-
看来你是对的,看看 FilipNguyen 的回答 :)
标签: java jdbc database-connection resultset