当前位置:首页 > JSP编程技术习题集及实训附答案
第七章 数据库访问
一、选择题 1.下面哪一项不是JDBC的工作任务?
A)与数据库建立连接 B)操作数据库,处理数据库返回的结果 C)在网页中生成表格 D)向数据库管理系统发送SQL语句 2.下面哪一项不是加载驱动程序的方法?
A)通过DriverManager.getConnection方法加载 B)调用方法 Class.forName
C)通过添加系统的jdbc.drivers属性 D)通过registerDriver方法注册
7.在JDBC中,下列哪个接口不能被Connection创建。
A)Statement B)PreparedStatement C)CallableStatement D)RowsetStatement 8.下面是加载JDBC数据库驱动的代码片段:
try{
Class.forName(\ }
catch(ClassNotFoundException e){ out.print(e); }
该程序加载的是哪个驱动?()
A)JDBC-ODBC桥连接驱动 B)部分Java编写本地驱动 C)本地协议纯Java驱动 D)网络纯Java驱动
9.下面是创建Statement接口并执行executeUpdate方法的代码片段: conn=DriverManager.getConnection(\ stmt=conn.createStatement();
String strsql=\李','清华出版社',35)\ n=stmt.executeUpdate(strsql); 代码执行成功后n的值为 。
A)1 B)0 C)-1 D)一个整数
10.下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个单元格
while(rs.next()){ out.print(\
out.print(\ out.print(\ out.print(\
out.print(\ out.print(\
out.print(\ }
A)4 B)5 C)6 D)不确定 15.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery (\语句,得到的结果集rs的列数为 A)4 B)5
C)6 D)不确定 16.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确的是
A)只能向下移动的结果集 B)可上下滚动的结果集 C)只能向上移动的结果集 D)不确定是否可以滚动 17.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确
A)不能用结果集中的数据更新数据库中的表 B)能用结果集中的数据更新数据库中的表 C)执行update方法能更新数据库中的表 D)不确定
18.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\下面哪项对该rs描述正确( B )
A)数据库中表数据变化时结果集中数据不变 B)数据库中表数据变化时结果集中数据同步更新 C)执行update方法能与数据库中表的数据同步更新 D)不确定
19.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.first();
下面哪项对该rs描述正确 A)rs.isFirst()为真
B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真 21.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.first();rs. previous();
下面哪项对该rs描述正确 A)rs.isFirst()为真 B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真 21.下列代码生成了一个结果集
conn=DriverManager.getConnection(uri,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(\rs.last();rs.next();
下面哪项对该rs描述正确 A)rs.isFirst()为真 B)rs.ifLast()为真
C)rs.isAfterLast()为真 D)rs.isBeforeFirst()为真
22.给出了如下的查询条件字符串String condition=\下列哪个接口适合执行该SQL查询 A)Statement
B)PrepareStatement C)CallableStatement D)不确定
三、填空题
2.简单地说,JDBC能够完成下列三件事:与一个数据库建立连接(connection)、向数据库发送SQL语句(statement) 、 处理数据库返回的结果(resultset) 。 5.数据库的连接是由JDBC 的__ DrvierManager类___管理的。 6.下面的代码建立Mysql数据库的连接,请填空: try{ Class.forName(\ com.mysql.jdbc.Driver \ }
创建连接的代码如下: try{ //和数据库建立连接 conn=
DriverManager.getConnection( \ jdbc:mysql: //localhost:3306/booklib\ …… conn.close(); }
catch(Exception e){
out.println(e.toString()); }
7.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs = stmt.executeQuery (\语句,每一次rs只能看到 一 行,要在看到下一行,必须使用 next() 方法移动当前行。ResultSet对象使用 getXXX() 方法获得当前行字段的值。 8.stmt为Statement对象,执行String sqlStatement = \bid='tp1001' \语句后,删除数据库表的记录需要执行stmt.executeUpdate ( sqlStatement ); 语句。
四、思考题
1.什么是JDBC编程接口?
2.试列举一个你在编程和调试中碰到的数据库问题及其解决办法。 3.如何实现记录集的行操作? 4.进行记录定位的方法有哪些?
6.使用纯Java驱动操作mysql数据库的步骤? 8.使用预处理语句和存储过程有什么好处? 10.如何使用滚动的结果集?
共分享92篇相关文档