黑马程序员技术交流社区

标题: 为什么处理可更新结果集时不能用select *来查询语句??? [打印本页]

作者: 花天喜事    时间: 2013-4-15 14:50
标题: 为什么处理可更新结果集时不能用select *来查询语句???
JDBC 2.0新特性:

1、 Scrollability 滚动结果集:可双向支持绝对与相对滚动,对结果集可进行多次迭代。

结果集属性:

ResultSetType说明
TYPE_FORWARD_ONLY(单向,一般不用)该常量指示指针只能向前移动的 ResultSet 对象的类型
TYPE_SCROOL_INSENSITIVE(双向、不敏感)可滚动但不受其他更改影响的 ResultSet 对象的类型
TYPE_SCROLL_SENSITIVE(双向、敏感)该常量指示可滚动并且通常受其他的更改影响的 ResultSet 对象的类型
CONCUR_READ_ONLY(只读)该常量指示只可以读取的 ResultSet 对象的并发模式
CONCUR_UPDATABLE(可更新)该常量指示可以更新的 ResultSet 对象的并发模式
使用Con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);设置结果集的属性。
注:上句的 SCROLL 再到 CONCUR;不可以写反,编译器无法检测到,因为他们都是int类型的。

2、 Updatability 结果集可更新。(主要应用于桌面应用)

注意

只有在必要的时候(如桌面应用)才用结果集更新数据库,因为使用结果集更新数据库效率低下。 可更新结果集还要看数据库驱动程序是否支持,如Oracle就支持,MySql不支持。 并且只能针对一张表做结果集更新(不能子查询)。而且不能有join操作。 必须有主健,必须把所有非空没有默认值的字段查出。
 处理可更新结果集时不能用select *来查询语句,必须指出具体要查询的字段。(不能使用通配符)


问题是红色字体部分,为什么不能用select * ??






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2