(完整版)JDBC练习题
更新时间:2023-05-31 21:02:01 阅读量: 实用文档 文档下载
一、选择题
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.SQL Server 2000
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继承自Statement
B.Statement继承自PreparedStatement
C.ResultSet继承自Statement
D.CallableStatement继承自PreparedStatement
7.下面的描述错误的是什么?
A.Statement的executeQuery()方法会返回一个结果集
B.Statement的executeUpdate()方法会返回是否更新成功的boolean值
C.使用ResultSet中的getString()可以获得一个对应于数据库中char类型的
值
D.ResultSet中的next()方法会使结果集中的下一行成为当前行
8.如果数据库中某个字段为numberic型,可以通过结果集中的哪个方法获取?
A.getNumberic()
B.getDouble()
C.getBigDecimal ()
D.getFloat()
9.在Jdbc中使用事务,想要回滚事务事务的方法是什么?
A.Connection的commit()
B.Connection的setAutoCommit()
C.Connection的rollback()
D.Connection的close()
10.在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");
11.下面关于PreparedStatement的说法错误的是什么
A.PreparedStatement继承了Statement
B.PreparedStatement可以有效的防止SQL注入
C.PreparedStatement不能用于批量更新的操作
D.PreparedStatement可以存储预编译的Statement,从而提升执行效率
12.下面的选项加载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");
13.下面的选项加载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");
14.下面代码加载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");
15.有关Connection描述错误的是哪一个?
A.Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接
数据库,不能执行SQL语句。
B.JDBC的数据库事物控制要靠Connection对象完成。
C.Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。
D.只用MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他
数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作。
16.下面有关JDBC事物的描述正确的是哪一个?
A.JDBC事物默认为自动提交,没执行一条SQL语句就会开启一个事物,执行完毕
之后自动提交事物,如果出现异常自动回滚事物。
B.JDBC的事物不同于数据库的事物,JDBC的事物依赖于JDBC驱动文件,拥有
独立于数据库的日志文件,因此JDBC的事物可以替代数据库事物。
C.如果需要开启手动提交事物需要调用Connection对象的start()方法。
D.如果事物没有提交就关闭了Connection连接,那么JDBC会自动提交事物。
17.下列的预编译SQL哪一个是正确的?
A.SELECT * FROM ?;
B.SELECT ?,?,? FROM emp ;
C.SELECT * FROM emp WHERE salary>(?)
D.以上都不对
18.能执行预编译SQL的是哪一个选项?
A.Statement
B.PreparedStatement
C.PrepareStatement
D.以上都不是
19.如果为下列预编译SQL的第三个问号赋值,那么正确的选项是哪一个?
UPDATE emp SET ename=?,job=?,salary=? WHERE empno=?;
A.pst.setInt("3",2000);
B.pst.setInt(3,2000);
C.pst.setFloat("salary",2000);
D.pst.setString("salary","2000");
20.有关PreparedStatement说法正确的是哪一个?
A.该对象只能执行带问号占位符的预编译SQL,不能执行SQL语句。
B.该对象执行的时候,只能执行查询语句,其他预编译SQL语句只能由
Statement执行。
C.该对象因为只能执行查询语句,所以该对象不能用在JDBC事物中。
D.该对象与一条SQL预编译语句绑定,不能执行其他预编译SQL语句。
21.有关预编译SQL的有点说法错误的是哪一个?
A.预编译SQL可以被PreparedStatement反复执行
B.预编译SQL语句在PreparedStatement对象创建之后就被传递给数据库解
析,之后PreparedStatement执行预编译的时候,其实传递给数据库的只有
占位符的参数。如果需要批量插入1000条记录的时候,预编译SQL只被数据
库解析一次,其余都是数据库接受参数数据然后执行,这样的速度大为提高。
C.预编译SQL的安全性好,可以抵御数据库脚本注入攻击,而这却是Statement
所不具备的。
D.预编译SQL的占位符既可以替代数据表,也可以替代表达式的数据,甚至是子
查询语句。
22.下列选项有关ResultSet说法错误的是哪一个?
A.ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那
么ResultSet将会是null值。
B.判断ResultSet是否存在查询结果集,可以调用它的next()方法。
C.如果Connection对象关闭,那么ResultSet也无法使用。
D.如果一个事物没有提交,那么ResultSet中是看不到事物过程中的临时数据。
23.SELECT COUNT(*) FROM emp;这条SQL语句执行,如果员工表中没有任何数据,
那么ResultSet中将会是什么样子?
A.null
B.有数据
C.不为null,但是没有数据
D.以上都选项都不对
24.下面选项的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
25.编写JDBC的时候下列选项哪一个错误的使用了某个包的类?
A.java.sql.Connection
B.java.sql.Statement
C.java.sql.PreparedStatement
D.java.sql.Driver
二、编程题
多年以来,我国的啤酒生产企业一直是群雄割据、各自为战的局面。各地都有自己的生产企业,它们受到地方主义的保护,企业规模小,经营业绩不佳,抵御市场风险的能力差。近几年来,这种格局正在被打破,国内的一些啤酒巨头,如青岛啤酒、燕京啤酒等,开始进行跨地区的大规模重组,对市场进行重新整合,逐步扩大企业的生产规模,形成新的市场竞争优势,比如,青岛啤酒目前在国内已有48家生产企业。
啤酒的生产和销售所需的时间相对也比较短,库存量比较低。原因是啤酒在短时间内可能会变质,而库存费用和生产费用相对也比较高。要减少库存量,又要保持较强的市场竞争能力,就需要对生产和需求量的变化做出迅速反应。这就要求对需求量做出科学的预测,以作为制定下一年度生产计划的依据。
宁波一家啤酒生产企业现正着手制定2009年的生产计划,这就需要对市场需求量做出预测,作为制定计划的参考依据。经理室要求财务部负责测算工作,并提出预测数据。计划财务部认为企业最近十五年的销售数据对预测有用,于是找来企业历年的销售数据如下表:
编写程序完成如下要求:
1. 编写JDBC程序创建数据output表,表结构如下
2.编写JDBC程序将表1中的数据插入到数据库,要求使用整体性事务,不是没插入一条提交一次事务。
3.编写JDBC程序读取数据库中的数据,在控制台输出年增长量的平均值
4. 利用数据表中最近四年的数据预测未来五年中每年啤酒的产量数据(四个季度和总产量),输出到控制台上面。
5. 用户在控制台上面输入一个任意的年份,将该年的记录打印到控制台上面,需要输出年份、四个季度的产量和年总产量
(1) 如果用户输入的是1995年以前的年份,控制台输出“没有数据”
(2) 如果用户输入的是1995-2009年之间的年份,输出的数据从数据库中查询
(3) 如果输入的是2009年以后的年份,输出的数据是预测的数据(参见第四题的思路)
正在阅读:
(完整版)JDBC练习题05-31
八字格局讲义06-01
拼音a的教案11-04
2018年中考物理试题分类汇编(全套)11-14
第二届BIM大赛考前练习题08-10
八年级数学下册 16.3《分式方程的应用(一)》课案(教师用) 新人教版01-16
定语从句练习304-11
焦化废水处理技术现状10-11
防止电力生产事故的二十五项重点要求02-29
精选-高考数学得分技巧-文档资料06-01
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 整版
- 练习题
- JDBC
- 建筑人才求职指南
- 2012年人教版七年级上册历史期末试卷合集(8套含答案)
- 2013-2014年人教版小学四年级上册期末复习试卷(1)
- 医药生物技术国家重点实验室
- 交通灯原理图绘制及PCB板设计
- 使用玉米调音台vst插件让播放器播放美妙震撼音乐
- 【精编精校】2013年高考试题语文分类汇编:病句
- 建筑专业技术工作总结1500字
- 太阳能多功能手电筒
- 国统股份:募集资金年度存放与使用情况鉴证报告 2010-03-30
- M1U3 Welcome to the unit and Reading
- 高速铁路隧道工程施工质量验收标准宣贯
- 从苏格拉底之死看雅典民主政治
- 概率与数理统计期末试卷1(附答案)
- 1 企业安全标准化绩效评定管理制度
- free_loop 中英对照歌词翻译
- 临床实验室管理中存在的问题与对策
- 专题一:考点4 德国的两次统一、意大利的统一、美国内战问题
- 中外名人在家庭教育中获得教益的小故事
- xxxx综合弱电系统工程投标书