《Java》实验指导13-JDBC数据库编程(Access版)_第1页
《Java》实验指导13-JDBC数据库编程(Access版)_第2页
《Java》实验指导13-JDBC数据库编程(Access版)_第3页
《Java》实验指导13-JDBC数据库编程(Access版)_第4页
《Java》实验指导13-JDBC数据库编程(Access版)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验项目十三 JDBC数据库编程一、实验目的及要求1、掌握创建ODBC数据源2、掌握创建一个Student表3、运用Type1(JDBC-ODBC桥)连接、访问数据库4、实现数据库的增删改查操作二、实验内容和要求1、在D盘建立sql文件夹,进入该文件夹建立名为stu.mdb的数据库,打开,设计表结构如下(参照P178表10-6),存盘,定表名为Students:打开表,可以添加2条记录如下:2、创建ODBC数据源开始-设置-控制面板-管理工具-数据源,选择“系统DSN”-“添加”,选第2项“Driver do Microsoft Access(*.Mdb)”(如下图): 配置系统DNS(数据源

2、):StudentSystem 按照以下图例进行设置:数据源名,填StudentSystem,按“选择”,选d:sql目录下的stu.mdb:再按“高级”按钮,登录名填sa,密码填sql,按“确定”。记住数据源的名字System,表的名字Students,登录名sa,密码sql,编程会用到。注意配置环境变量,Dos下加上 set path=C:Program FilesJavajdk1.6.0_20bin3、运用Type1(JDBC-ODBC桥)连接、访问数据库/P179,操作1 创建一个类Student,与上面的表Student是对接: class Student String No; /学

3、号 String Name; /姓名 int Age; /年龄 String Sex; /性别 String Address; /住址 String Email; /电子邮件 String Phone; /联系电话/创建学生对象,封装数据/编写Student构造函数如下public Student(String No,String Name,int Age,String Sex,String Address,String Email,String Phone) this.No=No; this.Name=Name; this.Age=Age; this.Sex=Sex; this.Addres

4、s=Address; this.Email=Email; this.Phone=Phone; 编译情况如下:运行结果算法分析/P179,操作2 连接数据库:import java.sql.*; /导入包public class StudentSystem Connection conn; /数据库连接对象 Statement stm; /执行简单的SQL语句 PreparedStatement pstm;/执行带有参数的SQL语句 ResultSet rs; /保存查询结果 StudentSystem()throws Exception /加载驱动程序 Class.forName(sun.jd

5、bc.odbc.JdbcOdbcDriver); /连接数据库 conn=DriverManager.getConnection(jdbc:odbc:StudentSystem,sa,sql); /操作3 : 显示数据表的内容: /查询并显示所有学生信息 void selectAll()throws SQLException stm=conn.createStatement();/创建Statement对象 rs=stm.executeQuery(select * from Students);/执行SQL语句 /判断是否有查询结果并显示 while(rs.next() printAll();

6、 System.out.println(-); closeAll();/关闭Statement对象和ResultSet结果集 /操作4 增: 插入一条记录到数据表中: /插入学生信息 void insertStudent(Student s)throws SQLException /创建带有参数的preparedStatement对象 pstm=conn.prepareStatement(insert into Students values(?,?,?,?,?,?,?); /为参数赋值 setValue(s); /执行SQL语句 pstm.executeUpdate(); /关闭prepar

7、edStatement对象 pstm.close(); /操作5 删: 删除满足条件的记录:/删除指定学号的学生 void deleteNo(String No)throws SQLException pstm=conn.prepareStatement(delete from Students where StudentNo=?); pstm.setString(1,No); pstm.executeUpdate(); /操作6 改: 修改数据表的内容: /修改指定学号的学生信息 /* void updateStudent(Student s)throws SQLException pstm

8、=conn.prepareStatement(update Students set StudentNo=?,Name=?,Age=?,Sex=?,Address=?,Email=?,Phone=? where StudentNo=?); setValue(s); pstm.setString(8,s.No); pstm.executeUpdate(); pstm.close(); */ /操作7 查: 查找满足条件的记录: /按照指定的学号查找特定学生信息 void selectNo(String No)throws SQLException stm=conn.createStatement

9、(); rs=stm.executeQuery(select * from Students where StudentNo=+No+); if(rs.next() printAll(); closeAll(); /操作8 综合处理: /用来显示数据库中的数据 private void printAll()throws SQLException System.out.println(学号:+rs.getString(1); System.out.println(姓名:+rs.getString(2); System.out.println(年龄:+rs.getInt(3); System.ou

10、t.println(性别:+rs.getString(4); System.out.println(地址:+rs.getString(5); System.out.println(Email:+rs.getString(6); System.out.println(电话:+rs.getString(7); /用来为参数设定值 private void setValue(Student s)throws SQLException pstm.setString(1,s.No); /pstm.setString(StudentNo,s.No); pstm.setString(2,s.Name); /

11、pstm.setString(Name,s.Name); pstm.setInt(3,s.Age); /pstm.setInt(Age,s.Age); pstm.setString(4,s.Sex); /pstm.setString(Sex,s.Sex); pstm.setString(5,s.Address);/pstm.setString(Address,s.Address); pstm.setString(6,s.Email); /pstm.setString(Email,s.Email); pstm.setString(7,s.Phone); /pstm.setString(Phone

12、,s.Phone); /关闭结果集和Statement对象 private void closeAll()throws SQLException rs.close(); stm.close(); /关闭连接 void closeConn()throws SQLException conn.close(); 将上述代码存入d:j文件夹,名为StudentSystem.java,编译情况如下:运行结果算法分析4、实现数据库的增删改查操作/p181,主控程序class MainStudent public static void main(String args)throws Exception /

13、创建数据库操作类实例 StudentSystem ss=new StudentSystem(); /创建学生对象 Student s1=new Student(20053051103,李三,22,男,河北 ,168755955,12345908945); Student s2=new Student(20053051105,王五,21,男,湖北 ,12345908846); Student s3=new Student(20053051106,刘萍,22,女,江西 ,12345908965); Student s4=new Student(20053051107,黄志彬,21,男,湖北 ,12

14、345778849); /将学生信息写入数据库 ss.insertStudent(s1); ss.insertStudent(s2); ss.insertStudent(s3); ss.insertStudent(s4); /查找指定学号学生 /ss.selectNo(20053051101); /修改学生信息 /ss.updateStudent(s); /删除指定学号学生信息 /ss.deleteNo(20053051102); /显示所有学生信息 ss.selectAll(); /关闭数据库连接 ss.closeConn(); 增加4条记录并显示:查找学号为20053051106 的学生:class MainStudent public static void main(String args)throws Exception /创建数据库操作类实例 StudentSystem ss=new StudentSystem(); /创建学生对象 /查找指定学号学生 ss.selectNo(20053051106); ss.closeConn(); 删除学号为20053051106 的学生:class MainStudent public static

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论