1、太原理工大学硬件实验1本科实验报告课程名称: Web系统与技术 实验项目: 使用JDBC连接数据库 实验地点: 致远楼301 专业班级: 软件1222班 学号: 2012005612 学生姓名: 王兆晖 指导教师: 师锋洋 2014 年 12 月 20 日一、实验目的和要求1掌握JSP与数据库的连接技术JDBC2掌握JSP数据库编程技术。 二、实验内容和原理利用数据库建立一个职工数据表,然后通过JDBC编写一系列基于Web方式的JSP程序,来对职工数据表的数据库进行添加、查询等功能,要求在网页上显示出来。 实验步骤1建立数据库建立名为employDB的Access数据库,在库中建立employ
2、b表,字段包括:字段名中文含义数据类型id职工号文本name姓名文本sex性别文本salary工资数值title职称文本对数据表employb,输入5条记录,如课本P191习题7.7所示。2. 创建数据源名 打开数据源(ODBC);添加Microsoft Access Driver(*.mdb)数据源驱动程序。数据源名称:employDB;更改默认数据库,选择employDB。3、编写JSP程序,共有3个程序。程序1:课本P191习题7.8。程序2:课本P191习题7.10。(把课本习题7.10改为:编写JSP程序读取习题7.8的职工表,在该表最后插入一条新记录(由自己设计),并显示插入后的表
3、的内容。程序3:课本P191习题7.11。4运行所编写的应用程序启动MyEclipse,建立项目exp1,将编写的程序放入该项目的WebRoot下,右键点击WebRoot,选择“刷新”。运行时,执行3个步骤。第1步,把程序部署在Tomcat服务器上。第2步,启动Tomcat服务器。第3步,在MyEclipse Web Browser浏览器或外部的IE,或360浏览器中输入运行的URL,如http:/localhost:8080/exp1/xiti7_8.jsp可运行程序1,即课本P191习题7.8,并查看运行结果。三、主要设备和软件Hp笔记本、tomcat7、 myeclipse、Access
4、数据库四、实验结果与分析数据库的建立建立连接: 关键代码:1、 base href= Access数据库 Access中读取数据并删除对应的记录 职工号 姓名 性别 工资 职称 % response.setCharacterEncoding(utf-8); String driveName=sun.jdbc.odbc.JdbcOdbcDriver; String dbName=employDB; String tableName=employb; String userName=; String userPasswd=; String conURl=jdbc:odbc:+dbName; Str
5、ing sql=SELECT * FROM +tableName; Class.forName(driveName); Connection con=DriverManager.getConnection(conURl,userName,userPasswd); Statement s=con.createStatement(); ResultSet rs=s.executeQuery(sql); while(rs.next() out.print(); out.print(+rs.getString(职工号)+); out.print(+rs.getString(姓名)+); out.pri
6、nt(+rs.getString(性别)+); out.print(+rs.getString(工资)+); out.print(+rs.getString(职称)+); out.print(); rs.close(); % 删除对应项以后为: 职工号 姓名 性别 工资 职称 % PreparedStatement ps=con.prepareStatement(delete from employb where 职工号 in (1001,1005); ps.execute(); ps.close(); /更新并显示出来 Statement s1=con.createStatement();
7、ResultSet rs1=s1.executeQuery(sql); while(rs1.next() out.print(); out.print(+rs1.getString(职工号)+); out.print(+rs1.getString(姓名)+); out.print(+rs1.getString(性别)+); out.print(+rs1.getString(工资)+); out.print(+rs1.getString(职称)+); out.print(); rs1.close(); s1.close(); con.close(); % 实验结果:2、 base href= A
8、ccess数据库 !- - Access中读取数据并工资增加五十存入 职工号 姓名 性别 工资 职称 % response.setCharacterEncoding(utf-8); String driveName=sun.jdbc.odbc.JdbcOdbcDriver; String dbName=employDB; String tableName=employb; String userName=; String userPasswd=; String conURl=jdbc:odbc:+dbName; String sql=SELECT * FROM +tableName; Clas
9、s.forName(driveName); Connection con=DriverManager.getConnection(conURl,userName,userPasswd); Statement s=con.createStatement(); ResultSet rs=s.executeQuery(sql); while(rs.next() out.print(); out.print(+rs.getString(职工号)+); out.print(+rs.getString(姓名)+); out.print(+rs.getString(性别)+); out.print(+rs.
10、getString(工资)+); out.print(+rs.getString(职称)+); out.print(); rs.close(); % 更新以后为: 职工号 姓名 性别 工资 职称 % PreparedStatement ps=con.prepareStatement(update employb set 工资=工资+50;); ps.execute(); ps.close(); /更新并显示出来 Statement s1=con.createStatement(); ResultSet rs1=s1.executeQuery(sql); while(rs1.next() out
11、.print(); out.print(+rs1.getString(职工号)+); out.print(+rs1.getString(姓名)+); out.print(+rs1.getString(性别)+); out.print(+rs1.getString(工资)+); out.print(+rs1.getString(职称)+); out.print(); rs1.close(); s1.close(); con.close(); % 实验结果:3、 base href= Access数据库 !- - 修改后插入数据 职工号 姓名 性别 工资 职称 % response.setChar
12、acterEncoding(utf-8); String driveName=sun.jdbc.odbc.JdbcOdbcDriver; String dbName=employDB; String tableName=employb; String userName=; String userPasswd=; String conURl=jdbc:odbc:+dbName; String sql=SELECT * FROM +tableName; Class.forName(driveName); Connection con=DriverManager.getConnection(conU
13、Rl,userName,userPasswd); Statement s=con.createStatement(); ResultSet rs=s.executeQuery(sql); while(rs.next() out.print(); out.print(+rs.getString(职工号)+); out.print(+rs.getString(姓名)+); out.print(+rs.getString(性别)+); out.print(+rs.getString(工资)+); out.print(+rs.getString(职称)+); out.print(); rs.close
14、(); % 更新以后为: 职工号 姓名 性别 工资 职称 % PreparedStatement ps=con.prepareStatement(update employb set 工资=工资+50;); ps.execute(); ps.close(); /更新并显示出来 Statement s1=con.createStatement(); ResultSet rs1=s1.executeQuery(sql); while(rs1.next() out.print(); out.print(+rs1.getString(职工号)+); out.print(+rs1.getString(姓
15、名)+); out.print(+rs1.getString(性别)+); out.print(+rs1.getString(工资)+); out.print(+rs1.getString(职称)+); out.print(); rs1.close(); s1.close(); % 插入数据后为: 职工号 姓名 性别 工资 职称 % PreparedStatement ps1=con.prepareStatement(insert into employb values(?,?,?,?,?); ps1.setString(1, 5612); ps1.setString(2, 王兆晖); ps1
16、.setString(3, 男); ps1.setString(4, 520); ps1.setString(5, 工程师); ps1.execute(); ps1.close(); /更新并显示出来 Statement s2=con.createStatement(); ResultSet rs2=s2.executeQuery(sql); while(rs2.next() out.print(); out.print(+rs2.getString(职工号)+); out.print(+rs2.getString(姓名)+); out.print(+rs2.getString(性别)+); out.print(+rs2.getString(工资)+); out.print(+rs2.getString(职称)+); out.print(); rs2.close(); s2.close(); con.close(); % 实验结果:五、实验总结这次实验,我主要是看书和问舍友才完成的,建立数据库连接时,我找不到在哪打开数据库驱动器。然后在使用myeclipse时,因为版本的问题,一直在找代码的错误,浪费了不少时间,就把软件重新安装了一下,运行了一次,结果就出来了。这次实验收获很多,了解了关于数据库的一些知识。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1