与数据库访问课件

上传人:我*** 文档编号:143668892 上传时间:2020-09-01 格式:PPT 页数:29 大小:311KB
返回 下载 相关 举报
与数据库访问课件_第1页
第1页 / 共29页
与数据库访问课件_第2页
第2页 / 共29页
与数据库访问课件_第3页
第3页 / 共29页
与数据库访问课件_第4页
第4页 / 共29页
与数据库访问课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《与数据库访问课件》由会员分享,可在线阅读,更多相关《与数据库访问课件(29页珍藏版)》请在金锄头文库上搜索。

1、第11章 JDBC与数据库访问,本章学习目标 熟练掌握Access建立数据库的使用方法 了解数据库系统及Access的基础知识 熟练JDBC访问数据库系统的使用,11.1 关系型数据库的基础知识,案例11-1:病案数据的结构化与电子化。 参照中华人民共和国卫生行业标准“住院病案首页基本数据集”,数据库中设计了病案首页主表、病人信息、药品信息、医生信息和用药记录等5个表。,11.1.1 数据库简介,表11-1 病人基本信息表,1. 数据库 数据库 数据库系统 数据库管理系统 2 关系型数据库 关系型数据库以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了数据库。,11.2 ACCES

2、S的初步应用,11.2.1 数据库设计 设计数据库的基本步骤如下: 确定新建数据库所要完成的任务,即总体设计。 规划数据库中需要建立的表。 确定表中需要的字段。 明确有唯一值的字段。 确定表之间的关系。 优化设计。 输入数据并新建其他数据库对象。,11.2.1 数据库设计,在“PatientDatabase.mdb”病案首页数据库中,设计了“main”病案首页主表、“patient”病人信息、“drug”药品信息、“doctor”医生信息、“treatdrug”用药记录等5个表。,表11-2 “main”病案首页主表字段定义,表11-3 “patient”病人信息表字段定义,表11-4 “do

3、ctor”医生信息表字段定义,表11-5 “treatdrug”用药记录表字段定义,表11-5 “drug”药品信息表字段定义,(1)定义主键 在关系数据库中能够从数据库独立的数据表中收集和检索相关信息是非常重要的。要做到这一点,必须保证数据表中的每条记录都是唯一的。所有值都唯一的字段和字段组合就是主键。 (2)添加索引 表中的数据越多,就越需要索引来帮助Access更有效地搜索数据。索引是一个内部表,它包括两列:索引字段的值和表中包含此值的每条记录的位置。,11.2.4 在数据表间建立关系,11.3 通过JDBC访问数据库,11.3.1 JDBC基本原理,11.3.2 JDBC 驱动程序类型

4、 1、共四种类型 2、JDBC-ODBC桥接型驱动程序 3、ODBC,即Open DataBase Connectivity,是微软倡导的、被业界广泛接受的、用于访问数据库的应用程序编程接口(API),4、DBC- ODBC 访问模型,11.3.3 基于JDBC的数据库程序设计 一、配置 Access数据库的ODBC数据源 1、依次单击桌面菜单项的“开始”“设置”“控制面版”,打开控制面版并启动“ODBC数据源(32位)”选项,如果控制面版中没有此选项,可继续点击其中的“管理工具”进行查看,2、双击“数据源(ODBC)”图标启动ODBC数据源管理器,并在其对话框的“用户DSN”选项卡中,点击“

5、添加”按钮,打开 “创建新数据源”对话框。,3、在弹出的“ODBC Microsoft Access安装”对话框中的“数据源名”文本框中输入数据源名称,例如“PatientDatabase”,4、点击数据库栏中的“选择”按钮,按照系统的提示弹出的“选择数据库”的对话框中查找到已建立好的目标数据库文件,例如:d:databasePatientDatabase.mdb。之后一直点击“确定”按钮返回到“ODBC数据源管理器”对话框。此时会发现在“用户数据源”列表框中新增加了一名称为PatientDatabase数据源,如下图所示。最后,单击“确定”按钮完成整个Access数据库的ODBC数据源的配置

6、。,二 数据库程序设计 1 列操作 【案例11-2】编程修改patient(病人信息)表结构,其中包括:添加address(病人住址)列、删除sex(病人性别)列。 启动Eclipse,在pro11工程中创建类ColumnOperation,类中代码如下: package pack11; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class ColumnOperation public static void main(String args) try

7、/加载JDBCODBC桥驱动程序 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /通过数据源与数据库建立起连接 Connection c=DriverManager.getConnection(jdbc:odbc: patientDatabase);,Statement s=c.createStatement();/创建SQl语句对象 s.executeUpdate(alter table patient add address char(80); s.executeUpdate(alter table patient drop column sex

8、); s.close(); c.close(); System.out.println(添加一列:address); System.out.println(删除一列:sex); catch(Exception e) System.err.println(异常:+e.getMessage(); ,Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) 的作用是加载JDBCODBC桥驱动程序,其中类Class的完整名为java.lang.Class,执行这条语句后,程序加载了JDBCODBC桥驱动程序。 在JAVA程序中,常采用下面格式加载指定的驱动程序: Clas

9、s.forName(“驱动程序名”) 这是JAVA加载驱动程序的一种机制,,2 记录的操作 【案例11-3】在doctor(医生)表中增加一条记录,其基本信息为编号:001、姓名:王强、年龄:29、性别:男、职称:副主任医师、科室:口腔科。 启动Eclipse,在pro11工程中创建类InsertRecord,类中代码如下: package pack11; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class InsertRecord public s

10、tatic void main(String args) try,/加载JDBCODBC桥驱动程序 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /通过数据源与数据库建立起连接 Connection c=DriverManager.getConnection(jdbc:odbc:patientDatabase); Statement s=c.createStatement();/创建SQl语句对象 /添加记录: s.executeUpdate(insert into doctor values(001,王强,29,男,副主任医师,口腔科); s.cl

11、ose(); c.close(); System.out.println(插入一条记录); catch(Exception e) System.err.println(异常:+e.getMessage(); ,【案例11-4】查询并显示patient表中的全部病人的基本信息。 启动Eclipse,在pro11工程中创建类QueryRecord,类中代码如下: package pack11; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.R

12、esultSet; public class QueryRecord public static void ShowRecord(ResultSet r) try ,r.last(); System.out.println(表中共有+r.getRow()+行记录); r.beforeFirst(); int i=0; while(r.next() System.out.println(第+r.getRow()+行记录为:); System.out.print(t病人ID:+r.getString(patientid); System.out.print(t病人姓名:+r.getString(p

13、atientname); System.out.print(t病人性别:+r.getString(sex); System.out.print(t病人年龄:+r.getInt(age); System.out.print(n); catch(Exception e) System.out.println(异常:+e.getMessage(); ,public static void main(String args) try /加载JDBCODBC桥驱动程序 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /通过数据源与数据库建立起连接 Connect

14、ion c=DriverManager.getConnection(jdbc:odbc:patientDatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE );/创建SQl语句对象 ResultSet r=s.executeQuery(select * from patient); ShowRecord(r);/调用前面定义的方法 s.close(); c.close(); catch(Exception e) System.err.println(异常:+e.getMessage(); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号