




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章第十章 数据库运用开发数据库运用开发p10.1 嵌入式SQL p10.2 基于OLE DB/ADO的数据库开发方法p10.3 基于JDBC技术的数据库开发方法 p10.4 SQLJ及其在数据库开发中的运用 10.1 10.1 嵌入式嵌入式SQLSQLp一、嵌入式SQL概述p二、嵌入式SQL的普通方式p三、嵌入式SQL语句和主言语之间的通讯p四、不用游标的SQL语句p五、运用游标的SQL语句一、嵌入式一、嵌入式SQL概述概述p运用嵌入式SQL的缘由pSQL言语不便于进展事务处置中的流程控制;p普通编程言语在涉及数据库的操作时,不能高效率地进展数据的存取。p将SQL语句嵌入到普通编程言语中运
2、用,很好地结合了编程言语的过程性和SQL言语的数据支配才干。p嵌入式SQL言语:嵌入到普通编程言语中的SQL言语p宿主言语:嵌入SQL语句的普通编程言语一、嵌入式一、嵌入式SQL概述概述pDBMS处置嵌入式SQL言语有两种方法:p预编译方法 运用较多的方法p扩展编译程序法p运用嵌入式SQL,必需处理以下三个问题p让预编译器识别程序代码中的SQL语句pDBMS和宿主言语程序可以进展数据交换p协调好SQL语句和宿主语句对记录的处置方式二、嵌入式二、嵌入式SQL的普通方式的普通方式p开场标志:EXEC SQLp终了标志:视不同的宿主言语而不同pPL/1和C言语中以“;作为终了标志pCOBOL言语以
3、END-EXEC作为终了标志p嵌入式SQL的普通方式:p 开场标志+SQL语句+终了标志p例:交互SQL:DROP TABLE employee, 嵌入到C言语中的写法是:p EXEC SQL DROP TABLE employee;三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯p数据库和源程序任务单元之间通讯主要包括:p向主言语传送SQL语句的执行形状信息,使主言语可以据此控制程序流程;p主言语向SQL言语提供参数;p将SQL语句查询数据库的结果交主言语进一步处置。p采用的通讯方式pSQL主言语SQL执行形状:SQLCAp主言语SQL输入数据:主变量pSQL主言语输
4、出数据:主变量+游标三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯pSQL通讯区SQLCA:SQL Communication Areap将系统当前的任务形状和运转环境数据反响给主程序p在运用程序中的定义:pEXEC SQL INCLUDE SQLCA;pSQLCA.SQLCODE是SQLCA的一个分量,属于整数类型,供DBMS向运用程序报告SQL语句的执行情况。每执行一条SQL语句,前往一个SQLCODE代码。三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯pSQLCA.SQLCODE代码pSQLCODE0:SQL语句执行胜利,无异常出现;p
5、SQLCODE为负整数:SQL语句执行失败,详细负值表示错误的类型;pSQLCODE为正整数,表示SQL语句已执行,但出现了不测的情况。如当SQLCODE100时表示语句已执行,但无数据可取,如DB中无满足条件的记录。三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯p主变量(host variable):是在嵌入式SQL中运用的主言语的程序变量,用来在输入和输出数据p主变量声明:p EXEC SQL BEGIN DECLARE SECTION;p主变量阐明段pEXEC SQL END DECLARE SECTIONpC言语中主变量声明举例:pEXEC SQL BEGIN
6、 DECLARE SECTION;p int s_no;p char s_name30;p int s_age;pEXEC SQL END DECLARE SECTION三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯p主变量运用pSQL语句援用主变量时,变量名前加“:p在宿主言语中援用主变量时就无需再加“: p s_no=101;p EXEC SQL select SNAME , SAGEp into :s_name , :s_agep from STUDENTp where SNO = :s_no;三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的
7、通讯p指示变量Indicator Variablep也是主变量,用来指示前往给宿主变量的值能否为nullp在DML中,在宿主变量和指示变量之间加( : )或关键字indicator。pEXEC SQL BEGIN DECLARE SECTIONpint s_no;pchar s_name30;pint s_age;pshort name_id;pshortage_id;pEXEC SQL END DECLARE SECTIONpEXEC SQL select SNAME , SAGEp into :s_name : name_id , :s_age: age_idp from STUDENTp
8、 where SNO = :s_no ; 三、嵌入式三、嵌入式SQL语句和语句和 主言语之间的通讯主言语之间的通讯p游标(CURSOR):协调两种不同的数据处置方式pSQL:面向集合,一条SQL原那么上可以产生或处置多条记录;p主言语:面向记录,一条语句一次只能处置一个记录p游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。p假设一个SQL语句前往单个元组,那么不用游标。p假设一个SQL语句前往多个元组,那么运用游标四、不用游标的四、不用游标的SQL语句语句p阐明性语句;p数据定义语句;p数据控制语句;pINSERT语句;p查询结果为单记录的SELECT语句;p对满足条件的当前记
9、录或记录集,由系统根据用户要求,自动进展修正或删除的UPDATE和DELETE语句。五、运用游标的五、运用游标的SQL语句语句p需求运用游标的语句有:p查询结果为多记录的SELECT语句;p对满足条件的结果集中记录分别进展修正或删除的UPDATE和DELETE语句。五、运用游标的五、运用游标的SQL语句语句p结果为多记录的SELECT语句运用游标的步骤:p阐明游标: pEXEC SQL DECLARE CURSOR FOR ;p翻开游标:pEXEC SQL OPEN ;p推进游标指针并取当前记录:pEXEC SQL FETCH INTO ;p封锁游标:p EXEC SQL CLOSE 五、运用
10、游标的五、运用游标的SQL语句语句p经过游标的更新和删除步骤:经过游标的更新和删除步骤:p声明游标声明游标: pEXEC SQL DECLARE CURSOR FOR FOR UPDATE OF ;p翻开游标翻开游标:pEXEC SQL OPEN ;p推进游标指针并取当前记录推进游标指针并取当前记录:pEXEC SQL FETCH INTO ;p更新或修正记录更新或修正记录pEXEC SQL UPDATE SET WHERE CURRENT OF ;pEXEC SQL DELETE FROM WHERE CURRENT OF ;p封锁游标封锁游标:p EXEC SQL CLOSE 10.2 基
11、于基于OLE DB/ADO的数据的数据库开发方法库开发方法p一、OLE DBp二、ADO与OLE DB p三、ADO运用程序开发一、一、OLE DBpMicrosoft采用OLE技术开发的一种新型的数据库接口程序 p在ODBC技术的根底上开展而来 1. OLE DB的体系构造pOLE DB主要由三个层次构成:p 数据运用者Data Consumerp 数据效力提供者Data Service Providerp 数据提供者Data Provider2. OLE DB 任务原理二、二、ADO与与OLE DB (1 of 2)二、二、ADO与与OLE DB (2 of 2)p利用ADO访问数据库的方
12、法与步骤:p 衔接数据源p 创建SQL查询命令对象p 激活命令,产生记录集p 操作记录集中的记录p 更新数据源三、三、ADO运用程序开发运用程序开发p可以在任何支持COM和自动化特性的言语环境中运用 。p详细运用见附件1。10.3 基于基于JDBC技术的数据库开技术的数据库开发方法发方法 p一、JDBC驱动 p二、JDBC的接口和类 p三、JDBC运用程序开发 一、一、JDBC驱动驱动(1 of 2)Java运用程序运用程序JDBC驱动程序管理器驱动程序管理器JDBC-ODBC桥驱动程序桥驱动程序MsSQL-ServerJDBC-Sybase驱动程序驱动程序JDBC-Oracle驱动程序驱动程
13、序ODBC桥驱动程序桥驱动程序SybaseSQL-ServerOracleDatabaseJDBC API JDBC driver API一、一、JDBC驱动驱动(2 of 2)pJDBC驱动程序有以下4类:p JDBC-ODBC桥,将JDBC调用转化为ODBCOpen Database Connectivity调用的“桥梁,经过ODBC驱动程序来提供JDBC对数据库的访问。p 本机运用编程接口部分Java驱动程序Native-API Partly-Java Driver,将JDBC调用转换为基于客户端API的调用。p 数据库中间件的纯Java驱动程序Net-Protocol All-Java
14、 Driver,将JDBC调用转换成为中间件供应商的协议,然后经过中间件效力器将该协议转换为DBMS协议。p 直接衔接数据库的纯Java驱动程序Native-Protocol All-Java Driver,将JDBC调用转换为特定数据库直接运用的网络协议,这一类驱动程序通常由数据库厂商本人开发。二、二、JDBC的接口和类的接口和类(1 of 8)pjava.sql包提供了中心的JDBC API,其中含有访问数据库的一切类和接口,这个包与包java.io和java. util以一样的方式构成了Java类库的组成部分。 二、二、JDBC的接口和类的接口和类(2 of 8)p java.sql.D
15、riverManager类p JDBC的管理层,作用于用户和驱动程序之间,用于管理JDBC驱动程序,并在数据库和相应的驱动程序之间建立衔接。 p方法的声明如下:p public static synchronized void Connection getConnection(String url, String user, String password) throws SQLExceptionp 二、二、JDBC的接口和类的接口和类(3 of 8)p Statement类接口p Statement接口用于执行一个静态的SQL语句,并得到SQL语句执行后的结果。Statement接口常用的方
16、法为:p ResultSet executeQuery(String sql) throws SQLException p int executeUpdate(String sql) throws SQLExcepttonp void close() throws SQLException 二、二、JDBC的接口和类的接口和类(4 of 8)p PreparedStatement类p PreparedStatement对象承继Statement接口,因此也是用来执行SQL语句的,与Statement接口不同的是,包含于PreparedStatement对象中的SQL语句具有一个或多个输入IN参
17、数。 二、二、JDBC的接口和类的接口和类(5 of 8)p CallableStatement类p 是PreparedStatement类的子类 p 对象用 ParepareCall方法创建 p 对象用于执行SQL存储过程 二、二、JDBC的接口和类的接口和类(6 of 8)p ResultSet类 p 提供从数据库中前往的结果集p 运用该类的getXXX方法得到数据库记录集中某个字段的一条记录 二、二、JDBC的接口和类的接口和类(7 of 8)p 其他常用的接口和类p java.sql.SQLException类p java.sql.Driver接口p java.sql.Connecti
18、on接口p java.sql.Statement接口p java.sql.ResultSet接口二、二、JDBC的接口和类的接口和类(8 of 8)DriverMangerConnectionstatementResultSetConnectionstatementstatementstatementResultSetResultSet三、JDBC运用程序开发 1. 衔接数据库的步骤 加载驱动程序 建立衔接 对数据库进展操作 封锁衔接和相应的对象2. 一个编程实例p见附件210.4 SQLJ及其在数据库开发中的及其在数据库开发中的运用运用p一、SQLJ与JDBC比较 p二、SQLJ运用程序开发一、SQLJ与JDBC比较p对于JAVA数据库运用程序调用SQL, DB2提供了2种方法,即JDBC和SQLJ。 pJDBC提供应Java一个动态嵌入式SQL接口,Java程序可以经过Java数据库衔接JDBC方法调用来调用SQL语句。pSQLJ提供了一个静态嵌入式 SQL接口,是在Java编程言语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信用晋级管理制度
- 信访秩序管理制度
- 修复中心管理制度
- 公司技术部管理制度
- 农产品安全管理制度
- 办公室风险管理制度
- 卫生院沟通管理制度
- 咖啡厅营运管理制度
- 外卖员投诉管理制度
- 学校缓冲室管理制度
- 特许经营管理手册范本(餐饮)
- 计算机应用基础-终结性考试试题国开要求
- 2023年全国统一高考真题物理试卷(新课标ⅰ)(含答案及解析)
- 2023年05月四川省广安市司法局公开招考2名劳务派遣制司法行政辅助人员笔试题库含答案解析
- 《安装条》浙江省建筑设备安装工程提高质量的若干意见
- 安全宣传咨询日活动知识手册
- 压力弹簧力度计算器及计算公式
- 运动员简历模板
- 宴会设计智慧树知到答案章节测试2023年黑龙江旅游职业技术学院
- 2023-2024学年湖北省恩施市小学数学四年级下册期末点睛提升考试题
- 广州市人力资源和社会保障局事业单位招聘工作人员模拟检测试卷【共500题含答案解析】
评论
0/150
提交评论