JDBC练习题.docx

上传人:b****6 文档编号:16349613 上传时间:2023-07-12 格式:DOCX 页数:10 大小:54.38KB
下载 相关 举报
JDBC练习题.docx_第1页
第1页 / 共10页
JDBC练习题.docx_第2页
第2页 / 共10页
JDBC练习题.docx_第3页
第3页 / 共10页
JDBC练习题.docx_第4页
第4页 / 共10页
JDBC练习题.docx_第5页
第5页 / 共10页
JDBC练习题.docx_第6页
第6页 / 共10页
JDBC练习题.docx_第7页
第7页 / 共10页
JDBC练习题.docx_第8页
第8页 / 共10页
JDBC练习题.docx_第9页
第9页 / 共10页
JDBC练习题.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JDBC练习题.docx

《JDBC练习题.docx》由会员分享,可在线阅读,更多相关《JDBC练习题.docx(10页珍藏版)》请在冰点文库上搜索。

JDBC练习题.docx

JDBC练习题

JDBC练习题

一、选择题

1.有关JDBC的选项正确的是哪一个?

A.JDBC是一种被设计成通用的数据库连接技术,JDBC技术不光可以应用在Java程序里面,还可以用在C++这样的程序里面。

B.JDBC技术是SUN公司设计出来专门用在连接Oracle数据库的技术,连接其他的数据库只能采用微软的ODBC解决方案

C.微软的ODBC和SUN公司的JDBC解决方案都能实现跨平台使用,只是JDBC的性能要高于ODBC

D.JDBC只是个抽象的调用规范,底层程序实际上要依赖于每种数据库的驱动文件

2.选择JDBC可以执行的语句(多选)

A.DDL

B.DCL

C.DML

D.以上都可以

3.选择Java程序开发中推荐使用的常用数据库(多选)

a.Oracle

b.SQLServer2000

c.MySQL

d.DB2

4.哪个不是JDBC用到的接口和类?

a.System

b.Class

c.Connection

d.ResultSet

5.使用Connection 的哪个方法可以建立一个PreparedStatement接口?

A.createPrepareStatement()

B.prepareStatement() 

C.createPreparedStatement() 

D.preparedStatement()

6.下面的描述正确的是什么?

A.PreparedStatement继承自

B.

C.getDouble()

A.getBigDecimal()

B.getFloat()

7.在Jdbc中使用事务,想要回滚事务事务的方法是什么?

A.Connection的commit() 

B.Connection的setAutoCommit()

C.Connection的rollback()

D.Connection的close() 

8.在JDBC编程中执行完下列SQL语句SELECT name, rank, serialNo 

FROM employee,能得到rs的第一列数据的代码是哪两个?

A.rs.getString(0); 

B.rs.getString("name");

C.rs.getString

(1); 

D.rs.getString("ename");

9.下面关于PreparedStatement的说法错误的是什么 

A.PreparedStatement继承了Statement 

B.PreparedStatement可以有效的防止SQL注入 

C.PreparedStatement不能用于批量更新的操作 

D.PreparedStatement可以存储预编译的Statement,从而提升执行效率

10.下面的选项加载MySQL驱动正确的是哪一个?

A.Class.forname("org.gjt.mm.mysql.Driver");

B.Class.forname("org.gjt.mysql.jdbc.Driver");

C.Class.forname("org.git.mm.mysql.Driver");

D.Class.forname("org.git.mysql.jdbc.Driver");

11.下面的选项加载MySQL驱动正确的是哪一个?

A.Class.forname("com.mysql.JdbcDriver");

B.Class.forname("com.mysql.jdbc.Driver");

C.Class.forname("com.mysql.driver.Driver");

D.Class.forname("com.mysql.jdbc.MySQLDriver");

12.下面代码加载Oracle驱动正确的是哪一个?

A.DriverManager.register("oracle.driver.OracleDriver");

B.DriverManager.forname("oracle.driver.OracleDriver");

C.DriverManager.load("oracle.driver.OracleDriver");

D.DriverManager.newInstance("oracle.driver.OracleDriver");

13.有关Connection描述错误的是哪一个?

A.Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接数据库,不能执行SQL语句。

B.JDBC的数据库事物控制要靠Connection对象完成。

C.Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。

D.只用MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作。

14.下面有关JDBC事物的描述正确的是哪一个?

A.JDBC事物默认为自动提交,没执行一条SQL语句就会开启一个事物,执行完毕之后自动提交事物,如果出现异常自动回滚事物。

B.JDBC的事物不同于数据库的事物,JDBC的事物依赖于JDBC驱动文件,拥有独立于数据库的日志文件,因此JDBC的事物可以替代数据库事物。

C.如果需要开启手动提交事物需要调用Connection对象的start()方法。

D.如果事物没有提交就关闭了Connection连接,那么JDBC会自动提交事物。

15.下列的预编译SQL哪一个是正确的?

A.SELECT*FROM?

;

B.SELECT?

?

?

FROMemp;

C.SELECT*FROMempWHEREsalary>(?

D.以上都不对

16.能执行预编译SQL的是哪一个选项?

A.Statement

B.PreparedStatement

C.PrepareStatement

D.以上都不是

17.如果为下列预编译SQL的第三个问号赋值,那么正确的选项是哪一个?

UPDATEempSETename=?

job=?

salary=?

WHEREempno=?

;

A.pst.setInt("3",2000);

B.pst.setInt(3,2000);

C.pst.setFloat("salary",2000);

D.pst.setString("salary","2000");

18.有关PreparedStatement说法正确的是哪一个?

A.该对象只能执行带问号占位符的预编译SQL,不能执行SQL语句。

B.该对象执行的时候,只能执行查询语句,其他预编译SQL语句只能由Statement执行。

C.该对象因为只能执行查询语句,所以该对象不能用在JDBC事物中。

D.该对象与一条SQL预编译语句绑定,不能执行其他预编译SQL语句。

19.有关预编译SQL的有点说法错误的是哪一个?

A.预编译SQL可以被PreparedStatement反复执行

B.预编译SQL语句在PreparedStatement对象创建之后就被传递给数据库解析,之后PreparedStatement执行预编译的时候,其实传递给数据库的只有占位符的参数。

如果需要批量插入1000条记录的时候,预编译SQL只被数据库解析一次,其余都是数据库接受参数数据然后执行,这样的速度大为提高。

C.预编译SQL的安全性好,可以抵御数据库脚本注入攻击,而这却是Statement所不具备的。

D.预编译SQL的占位符既可以替代数据表,也可以替代表达式的数据,甚至是子查询语句。

20.下列选项有关ResultSet说法错误的是哪一个?

A.ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那么ResultSet将会是null值。

B.判断ResultSet是否存在查询结果集,可以调用它的next()方法。

C.如果Connection对象关闭,那么ResultSet也无法使用。

D.如果一个事物没有提交,那么ResultSet中是看不到事物过程中的临时数据。

21.SELECTCOUNT(*)FROMemp;这条SQL语句执行,如果员工表中没有任何数据,那么ResultSet中将会是什么样子?

A.null

B.有数据

C.不为null,但是没有数据

D.以上都选项都不对

22.下面选项的MySQL数据库URL正确的是哪一个?

A.jdbc:

mysql:

//localhost/company

B.jdbc:

mysql:

//localhost:

3306:

company

C.jdbc:

mysql:

//localhost:

3306/company

D.jdbc:

mysql:

//localhost/3306/company

23.编写JDBC的时候下列选项哪一个错误的使用了某个包的类?

A.java.sql.Connection

B.java.sql.Statement

C.java.sql.PreparedStatement

D.java.sql.Driver

二、编程题

多年以来,我国的啤酒生产企业一直是群雄割据、各自为战的局面。

各地都有自己的生产企业,它们受到地方主义的保护,企业规模小,经营业绩不佳,抵御市场风险的能力差。

近几年来,这种格局正在被打破,国内的一些啤酒巨头,如青岛啤酒、燕京啤酒等,开始进行跨地区的大规模重组,对市场进行重新整合,逐步扩大企业的生产规模,形成新的市场竞争优势,比如,青岛啤酒目前在国内已有48家生产企业。

啤酒的生产和销售所需的时间相对也比较短,库存量比较低。

原因是啤酒在短时间内可能会变质,而库存费用和生产费用相对也比较高。

要减少库存量,又要保持较强的市场竞争能力,就需要对生产和需求量的变化做出迅速反应。

这就要求对需求量做出科学的预测,以作为制定下一年度生产计划的依据。

宁波一家啤酒生产企业现正着手制定2009年的生产计划,这就需要对市场需求量做出预测,作为制定计划的参考依据。

经理室要求财务部负责测算工作,并提出预测数据。

计划财务部认为企业最近十五年的销售数据对预测有用,于是找来企业历年的销售数据如下表:

序号

年份

季度(单位:

万吨)

合计

1

1995

6

7

9

8

30

2

1996

9

12

13

10

44

3

1997

13

14

17

13

57

4

1998

15

18

19

14

66

5

1999

18

20

24

19

81

6

2000

22

24

29

23

98

7

2001

23

26

32

24

105

8

2002

25

32

37

26

120

9

2003

30

38

42

30

140

10

2004

29

39

50

35

153

11

2005

30

39

51

37

157

12

2006

29

42

55

38

164

13

2007

31

43

54

41

169

14

2008

33

45

58

42

178

15

2009

34

46

60

45

185

编写程序完成如下要求:

1.编写JDBC程序创建数据output表,表结构如下

列名

数据类型

主键

非空

唯一

索引

备注

num

number(10)

序号

year

number(4)

年份

q1

number(10)

第一季产量

q2

number(10)

第二季产量

q3

number(10)

第三季产量

q4

number(10)

第四季产量

total

number(10)

年产量

2.编写JDBC程序将表1中的数据插入到数据库,要求使用整体性事务,不是没插入一条提交一次事务。

3.编写JDBC程序读取数据库中的数据,在控制台输出年增长量的平均值

4.利用数据表中最近四年的数据预测未来五年中每年啤酒的产量数据(四个季度和总产量),输出到控制台上面。

5.用户在控制台上面输入一个任意的年份,将该年的记录打印到控制台上面,需要输出年份、四个季度的产量和年总产量

(1)如果用户输入的是1995年以前的年份,控制台输出“没有数据”

(2)如果用户输入的是1995-2009年之间的年份,输出的数据从数据库中查询

(3)如果输入的是2009年以后的年份,输出的数据是预测的数据(参见第四题的思路)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2