四、问答题
1.在 Java 程序中可以采用哪些方法来连接数据库? 2.如何通过 JDBC 驱动程序来访问数据库? 五、程序题
1.现在已经有一个登录的 html 文件,界面如下图,现在要求为此文件编写一个后台处理的 JSP 文件,实现用户登录功能。假设要连接的数据库为本机上的 ShopSystem 数据库,用户
名为 sa,密码为空,用户名和密码存放在 Admin表中。 (18 分) 2.<%
《数据库编程》单元习题 共4页,第4页
Clsaa.forName(“___A___”); Connectioncon con=____B___: Statement
stmt=con.createStatement(Resultset.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_REA D_ONLY);
String sql=”select*from BookList”; ResultSet rs___C__; String tt;
While (rs.next()){ tt=___D____;
out.print(“”+rs.getString(“Subject”)+””); out.print(“
”+tt+”); }
_____E_____; Stmt.close(); %>
上面程序是使用 JSP 与 Access 数据库进行连接并采用了数据源,然后在建立连接后从数据库中查询指定的字段并将它们在页面中显示,最后关闭创建的所有对象。
在 A 处填写载入驱动程序类别的代码____________。 在 B 处填写使用 book作为数据源的代码___________。
在 C 处填写对数据库进行查询操作的代码_______________。
在 D 处从数据库中取出 Answers 字段的值的代码_____________。 在 E 处填写关闭记录集的代码____________。
JSP数据库编程单元习题(参考答案)
一、填空题
1. Java DataBase Connectivity
2. executeUpdate 方法 executeQuery 方法 execute 方法
3. ResultSet 4. PreparedStatement 对象 5.CallableStatement 6. 通过 JDBC-ODBC桥连接 通过 JDBC驱动程序连接 7. 加载驱动程序 建立连接
8.DatabaseMetaData 9. JDBC-ODBC桥连接 数据库系统专用的 JDBC 驱动程序
10. DriverManager 11.getConnection() 12. Connection 13. msbase.jar 、 mssqlserver.jar和 msutil.jar
14. Statement 15. executeUpdate() 16. executeQuery() 17. execute() 18. getInt(int x) 19. getString(int x) 20. getBoolean (int x)
21. createStatement() 22. prepareCall() 23.registerOutParameter() 24. getMetaData() 25. supportsOuterJoins() 26. supportsStoredProcedure()
27. getURL() 28. getUserName() 29. getDatabaseProductName() 30. getDatabaseProductVersion () 31. getDriverName () 32. getDriverVersion ()
33. getTypeInfo () 34. getMetaData() 35.getColumnCount() 36.getColumnName()
37. getColumnTypeName() 38. getColumnDisplaySize() 39. iaNullable() 40. isAutoIncrement() 41.Application Programming Interface 。 二、判断题
1.( F )2.( F )3.( T )4.( T ) 。5.( T )6.( T )7.( F ) 8.( T )9.( F )10.( F )11.( F )12.( F )13.( F )14.( F ) 15. ( T ) 三、选择题 1 D 四、问答题
1.Java 程序连接数据库的方法有以下 4种。 (1)JDBC-ODBC 桥和ODBC 驱动程序
这是一个本地解决方案,ODBC 驱动程序和桥代码必须出现在用户的每台机器中。如
果使用 Java,使用该方式应该没有问题,但是 JSP 环境中,可能会出现错误。 (2)本机代码和 Java 驱动程序
这是另外一个本地解决方案,这种方式下 Java可调用本机代码,是一种ODBC 和
JDBC-ODBC 桥的方式。
(3)JDBC 网络的纯 Java 驱动程序
在这种方式下,由 Java 驱动程序翻译 JDBC形成传诵给服务器的独立协议。服务器可连
接任何数量的数据库。这种方法可从可户机 Applet中调用服务器,并将结果返回到Applet。
(4)本机协议 Java驱动程序 在这种方式下,Java驱动程序直接转换为书库库的协议并进行调用。这中方法也可以通
过网络使用,而且可以 Web 浏览器的 Applet 中显示结果。在这种情况下,每个数据库
厂商将提供驱动程序。 评分要求:每点 2 分。
2. (1)安装 SQL Server 2000 sp3 或 sp4。 下载安装包后首先是将压缩文件解压,需要指定一个文件夹(如 c:\\ SQL2KSP3),但这
时不是真正的安装过程;然后再运行解压文件夹(如c:\\ SQL2KSP3)文件夹下的 setup.bat, 按提示执行安装。
(2)下载并 SQL Server Driver for JDBC 驱动程序。
下载安装包后进行安装,在安装过程中,如果提示没有选择安装路径,默认安装在了
C:\\Program Files\\Microsoft SQL Server 2000 Driver for JDBC。 (3)配置环境。
在 classpath中追加 SQL Server Driver for JDBC 需要用到的类,主要为:msbase.jar、
mssqlserver.jar 和 msutil.jar。也可将这 3 个文件复制到 Tomcat 安装文件夹下的 common\\lib文件夹中。
(4)保证数据库访问用户具有足够的访问权限。
一旦 SQLServer 2000 Driver For JDBC 驱动程序安装配置好,重启 Tomcat,即可使用专
用的驱动程序连接 SQL Server 2000 数据库。 评分要点:每小点 2分 五、程序题
1.参考答案:
<%@ page contentType=\ language=\ %>
if (request.getParameter(\ request.getParameter(\ {
String strName=request.getParameter(\ String strPass=request.getParameter(\
Class.forName(\
String
strConn=\ ;
String strUser=\ String strPassword=\ Connection
conn=DriverManager.getConnection(strConn,strUser,strPassword); Statement stat=conn.createStatement();
String strSql=\and
a_Pass='\
ResultSet result=stat.executeQuery(strSql); result.next();
if (result.getInt(1)==1) {
out.println(\登录成功\ } else {
out.println(\登录错误,请输入正确的用户名和密码\ } } %>
评分要求:(1)驱动程序加载正确(3分)
(2)连接字符串正确(3 分) (3)建立连接语句正确(3分) (4)查询语句正确(3 分)
(5)查询语句的执行正确(3 分) (6)其他(3 分)
2.sun.jdbc.odbc.JdbcOdbcDriver
DriverManager.getConnection(“jdbc:odbc:book”)
stmt.executeQuery(sql) rs.getString(“Answers”) rs.close()
stmt.executeQuery(sql)