




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 第三篇第三篇 jsp webjsp web数据库应用开发数据库应用开发 2 jsp 9.1 web9.1 web数据库应用基础数据库应用基础 9.1.1 9.1.1 数据库基本概念数据库基本概念 1.1.基本术语基本术语 (1 1)数据库系统)数据库系统 数据库系统是一个存储数据的计算机系统。数据库系统是一个存储数据的计算机系统。 (2 2)数据库)数据库 数据库是一个按数据结构来存储和管理数据的计算数据库是一个按数据结构来存储和管理数据的计算 机软件系统。数据库概念包含两层意思:机软件系统。数据库概念包含两层意思: 数据库保管数据的数据库保管数据的“仓库仓库”。“数据数据”和和“库库”两
2、两 个概念结合成为个概念结合成为“数据库数据库”。 数据库是数据管理的方法和技术,它能够合理地组数据库是数据管理的方法和技术,它能够合理地组 织数据、方便地维护数据、严密地控制数据和有效织数据、方便地维护数据、严密地控制数据和有效 地利用数据。地利用数据。 数据库是一个合理组织了的数据仓库数据库是一个合理组织了的数据仓库。 3 jsp (3)数据库管理系统()数据库管理系统(dbms) 数据库管理系统是管理数据库的软件系统,它提供数据库管理系统是管理数据库的软件系统,它提供 了一组建立数据库和管理数据库的工具。用户可以使用了一组建立数据库和管理数据库的工具。用户可以使用 这些工具进行各种数据库
3、操作,如数据库生成、数据表这些工具进行各种数据库操作,如数据库生成、数据表 格生成、数据的输入和修改、数据的检索和使用、数据格生成、数据的输入和修改、数据的检索和使用、数据 安全、数据相关关系的设定和数据访问权限的设定等。安全、数据相关关系的设定和数据访问权限的设定等。 目前市场上比较著名的数据库管理系统有目前市场上比较著名的数据库管理系统有oracle、 sybase、informix、sql server等。等。 2. 数据库设计与管理信息系统数据库设计与管理信息系统 管理信息系统简称为管理信息系统简称为mis(management information system),管理信息系统帮助
4、人们完成需要手工处理的,管理信息系统帮助人们完成需要手工处理的 信息处理工作,不仅能够提高工作效率,降低劳动强度,信息处理工作,不仅能够提高工作效率,降低劳动强度, 而且能够提升管理信息的质量和水平。管理信息系统的而且能够提升管理信息的质量和水平。管理信息系统的 数据存放在数据库中数据存放在数据库中 。 4 数据库 用 户 息 信 管 理 系统 功 能 模 块 数 据 库 管 理 系 统用 户 用 户 管理信息系统、数据库管理系统和数据库的关系管理信息系统、数据库管理系统和数据库的关系 5 3. 数据库、表、记录和字段数据库、表、记录和字段 数据库:数据库:数据库中的数据表示为多个表的集合,通
5、过数据库中的数据表示为多个表的集合,通过 建立表与表之间的关系来定义数据库的结构。建立表与表之间的关系来定义数据库的结构。 表:表: 按某一公共结构存储的一组相似数据,它是数按某一公共结构存储的一组相似数据,它是数 据库的基础构件。据库的基础构件。 记录:记录:表中数据以行、列方式将相关信息排列成逻表中数据以行、列方式将相关信息排列成逻 辑组,表中每一行称为一个记录辑组,表中每一行称为一个记录 字段:字段:表中每一列称为字段表中每一列称为字段 例如,网上书店数据库名为例如,网上书店数据库名为bookshop,库中有,库中有7个表:个表: book、userinfo、orderform、orde
6、rdetail、notes、 employee和和publisher。 6 jsp 9.1.2创建数据库和表创建数据库和表 1. 创建数据库创建数据库 (1)启动)启动sql server服务管理器服务管理器 (2)创建数据库)创建数据库 2. 创建新表:创建新表:booktable 7 jsp 9.1.3 sql语句语句 1. 选择语句(选择语句(select statement) 从现有的数据库中检索数据,将满足一定约束条件的一个或多从现有的数据库中检索数据,将满足一定约束条件的一个或多 个表中的字段从数据库中挑选出来,并按一定的分组和排序方法个表中的字段从数据库中挑选出来,并按一定的分组
7、和排序方法 显示。简单的选择语句只有显示。简单的选择语句只有from子句,用来指定数据的来源,子句,用来指定数据的来源, 也就是记录来自那些表。也就是记录来自那些表。 where子句指定选择记录时要满足的子句指定选择记录时要满足的 条件,如果没有条件,如果没有where子句,则返回表中的所有记录。子句,则返回表中的所有记录。 select 字段字段1,字段,字段2,from 表名表名where 条件表达式条件表达式 (1)在)在booktable表中检索所有书名表中检索所有书名 select bookname from booktable 功能:从功能:从booktable表的表的bookna
8、me字段检索数据。字段检索数据。 select:关键字,说明要做查询操作;:关键字,说明要做查询操作; bookname:字段名,数据从该字段中检索;:字段名,数据从该字段中检索; from:关键字,指明信息来源,后面列出表的名称。:关键字,指明信息来源,后面列出表的名称。 booktable :表的名称,数据从该表中检索。表的名称,数据从该表中检索。 结果集是结果集是booktable表中的全部书名。表中的全部书名。 8 jsp (2) 在在booktable表中查询书号等于表中查询书号等于isbn 7-04-012301-0的书名,的书名, select bookname from boo
9、ktable where bookid=isbn isbn 7-04-012301-0 结果集是:结果集是:c+程序设计。程序设计。 (3) 范围查询,在范围查询,在booktable表中查询表中查询2002年上半年出版的书名,年上半年出版的书名, select bookname from booktable where pubdate between2002-1-1and 2002-6-30 (4) order by子句,使结果集按序排列。图书按出版日期排序子句,使结果集按序排列。图书按出版日期排序: select* from booktable order by bookid 缺省值是升序
10、,缺省值是升序, 按降序排列,按降序排列, 加关键字加关键字desc : select* from booktable order by bookid desc (5)模糊查询,在模糊查询,在where子句中应用子句中应用like运算符,可以只选择运算符,可以只选择 与用户规定格式相同的记录。用通配符与用户规定格式相同的记录。用通配符“%”可以代替任何字符可以代替任何字符 串。例如,在串。例如,在userinfo表中查询所有姓王的读者,可用以下语句:表中查询所有姓王的读者,可用以下语句: select * from userinfo where username like 王王% 9 jsp
11、2.插入语句(插入语句(insert statement) 一个或多个记录添加到指定表中。一个或多个记录添加到指定表中。 insert into 表名表名(字段字段1,字段字段2,n) values(值值1, 值值2,n) 例如,在例如,在booktable表中插入新书记录表中插入新书记录(书号书号:isbn 7-04- 012301-0,书名:,书名:c+程序设计,作者:吴乃陵,出版社程序设计,作者:吴乃陵,出版社 编号:编号:3,出版日期:,出版日期:2003-8-1,定价:,定价:29.5) : insert into booktable (bookid, bookname, autho
12、r, publisher, pubdate, price,type, quantity) values(isbn 7-04-012301-0, c+程序设计程序设计,吴乃吴乃 陵陵,高等教育出版社高等教育出版社,2003-8-1,29.5,计算机计算机, 100) 10 jsp 3. 更新语句(更新语句(update statements) 更新表中的字段。更新表中的字段。 update 表名表名 set 列名列名=表达式表达式,列名列名=表达表达 式,式,where条件表达式条件表达式 例如,在例如,在booktable表中把所有图书的在库册数减表中把所有图书的在库册数减2, 语句如下:语句
13、如下: update booktable set quantity = quantity-2 11 jsp 4. 删除语句(删除语句(delete statement) 删除由删除由from子句列出的、满足子句列出的、满足where子句条件的子句条件的 一个或多个表中的记录。一个或多个表中的记录。 delete from 表名表名 where条件表达式条件表达式 例如,在例如,在booktable表中删除刚才插入的书号为表中删除刚才插入的书号为isbn 7-04-012301-0的记录,语句如下:的记录,语句如下: delete from booktable where bookid= isb
14、n 7- 04-012301-0 又如:下条又如:下条sql语句的功能将删除表中所有的记录,语句的功能将删除表中所有的记录, 使用时要特别当心:使用时要特别当心: delete from booktable 12 jsp 9.2 jdbc9.2 jdbc接口技术接口技术 9.2.1 jdbc 概述概述 1. 什么是什么是jdbc jdbc(java database connectivity)接口技术实际上是一种接口技术实际上是一种 通过通过java语言访问任何结构化数据库的应用程序接口语言访问任何结构化数据库的应用程序接口(api)。 许多数据库系统带有许多数据库系统带有jdbc驱动程序,驱
15、动程序,java程序通过程序通过jdbc驱驱 动程序与数据库连接,执行查询、插入、更改和删除等操作。动程序与数据库连接,执行查询、插入、更改和删除等操作。 为能够访问带有为能够访问带有odbc驱动程序的数据库,驱动程序的数据库,sun公司开发了公司开发了 jdbc odbc bridge,应用这项技术,应用这项技术,java程序就能够访程序就能够访 问带有问带有odbc驱动程序的数据库。由于大多数数据库系统都带驱动程序的数据库。由于大多数数据库系统都带 有有odbc驱动程序,所以使用驱动程序,所以使用jdbc odbc bridge技术技术java 程序可以访问大多数数据库,如:程序可以访问大
16、多数数据库,如:ms sql server、oracle、 sybase、informix和和ms access等数据库。等数据库。 2. jdbc 的功能的功能 (1) 与一个数据库建立连接与一个数据库建立连接(connection); (2) 向数据库发送向数据库发送sql语句语句(statement); (3) 处理数据库返回的结果处理数据库返回的结果(resultset)。 13 jsp 3.jdbc访问数据库的四种方式访问数据库的四种方式 (1)jdbc-odbc bridge驱动程序驱动程序 jdbc-odbc桥利用桥利用odbc驱动程序提供驱动程序提供jdbc访问。利用微软访问。
17、利用微软 odbc的开放性,只要本地机装有的开放性,只要本地机装有odbc驱动,采用驱动,采用jdbc- odbc桥驱动几乎可以访问所有的数据库。桥驱动几乎可以访问所有的数据库。 (2)本地)本地api驱动驱动 本地本地api驱动直接把驱动直接把jdbc调用转变成数据库标准调用,然后再去调用转变成数据库标准调用,然后再去 访问数据库。这种方法也需要本地数据库驱动程序。访问数据库。这种方法也需要本地数据库驱动程序。 (3)网络协议驱动)网络协议驱动 使用一段纯使用一段纯java代码,把代码,把jdbc调用转换成目标数据库网络协议调用转换成目标数据库网络协议 调用。调用。 (4)本地协议驱动)本地
18、协议驱动 使用一段纯使用一段纯java代码,把代码,把jdbc调用转换成数据库本地协议调用。调用转换成数据库本地协议调用。 14 jsp 9.2.2 jdbc-odbc桥桥 先建立数据源,数据源对应一个数据库。为了连接到数据先建立数据源,数据源对应一个数据库。为了连接到数据 库,需要建立一个库,需要建立一个jdbc-odbc桥接器,也就是加载桥接器,也就是加载jdbc- odbc桥驱动程序。以网上书店的桥驱动程序。以网上书店的bookshop数据库为例数据库为例 。 建立数据源建立数据源(dsn:data source name) 一个数据源就是对数据库的一个命名连接。一个数据源就是对数据库的
19、一个命名连接。数据源有三种:数据源有三种: 用户数据源、系统数据源和文件数据源。用户数据源只有用户用户数据源、系统数据源和文件数据源。用户数据源只有用户 可以看见,只能用于当前机器中。系统数据源允许所有用户登可以看见,只能用于当前机器中。系统数据源允许所有用户登 录特定服务器去访问数据库,任何具有权限的用户都可以访问录特定服务器去访问数据库,任何具有权限的用户都可以访问 系统数据源。文件数据源把信息存储在后缀为系统数据源。文件数据源把信息存储在后缀为.dsn的文本文件中,的文本文件中, 如果把该文件放在网络共享目录中,则可被网络中任何一台工如果把该文件放在网络共享目录中,则可被网络中任何一台工
20、 作站访问到。作站访问到。web应用程序访问数据库时,应用程序访问数据库时,通常是建立系统数通常是建立系统数 据源据源。 15 jsp 9.2.3 jdbc建立数据库连接示例建立数据库连接示例 用用jdbc-odbc bridge驱动程序建立与数据库的连接。驱动程序建立与数据库的连接。 例例9.1(p232) :使用:使用jsp技术查询技术查询booktable表中书号表中书号 是是isbn 7-04-012301-0的图书。本例使用前面生成的的图书。本例使用前面生成的 bookshoplk数据源,通过数据源,通过jdbc-odbc桥访问数据库。桥访问数据库。 jdbc-odbc bridge
21、 16 /所有与数据库有关的对象和方法都所有与数据库有关的对象和方法都 在在java.sql包中包中 jdbc建立数据库连接建立数据库连接 数数 据据 查查 询询 /加载驱动程序加载驱动程序 17 bookidbooknameauthor publisherpubdateprice typequantity /将名称为将名称为bookid的的 列的内容作为字符型返回列的内容作为字符型返回 / 只返回年月日只返回年月日 18 jsp 19 jsp 9.2.4 jdbc建立数据库连接方法详解建立数据库连接方法详解 1. jdbc建立数据库连接步骤建立数据库连接步骤 (1) 加入命令行:加入命令行:
22、 (2) 加载驱动程序:加载驱动程序: class.forname(sun.jdbc.odbc.jdbcodbcdriver); (3) 建立连接:建立连接: connection conn=drivermanager.getconnection(jdbc:odbc:bookshoplk,sa, ); (4) 发送发送sql语句:语句: statement stmt = conn.createstatement(); (5)建立)建立resultset(结果集结果集)对象:对象: resultset rs; (6)执行)执行sql语句:语句: rs=stmt.executequery(sele
23、ct * from booktable where bookid=isbn 7-04-012301-0); / executequery:用于产:用于产 生单个结果集的语句生单个结果集的语句 (7)关闭对象:)关闭对象: rs.close(); /关闭关闭resultset对象对象 stmt.close(); /关闭关闭statement对象对象 conn.close(); /关闭关闭connection对象对象 20 jsp 2. jdbc数据库连接步骤详解数据库连接步骤详解 (1) 加入命令行(加入命令行(p234) 所有与数据库有关的对象和方法都在所有与数据库有关的对象和方法都在java
24、.sql包中,所以在使用包中,所以在使用 jdbc的程序中必须加入命令行:的程序中必须加入命令行: (2)加载驱动程序(加载驱动程序(p234) 应用应用jdbc-odbc bridge方式连接数据库,必须先加载方式连接数据库,必须先加载jdbc- odbc bridge驱动程序,语句如下:驱动程序,语句如下: class.forname(sun.jdbc.odbc.jdbcodbcdriver); class是包是包java.lang中的一个类,中的一个类,该类通过调用该类通过调用静态方法静态方法forname 建立建立jdbc-odbc桥接器,即加载驱动程序。桥接器,即加载驱动程序。 由于
25、加载驱动程序时可能产生异常,所以需要异常处理程序段。由于加载驱动程序时可能产生异常,所以需要异常处理程序段。 try catch(exception e ) 21 jsp (3)建立连接()建立连接(p235) 要连接一个数据库,必须创建要连接一个数据库,必须创建connection类的一个实例类的一个实例 : connection conn = drivermanager.getconnection(jdbc:odbc:数据数据 源名源名,loginname,password); 调用调用drivermanager.getconnection方法建立与数据库的连接,该方法建立与数据库的连接,
26、该 方法指定了数据库的位置、用户名和用户口令。方法指定了数据库的位置、用户名和用户口令。drivermanager 类位于类位于jdbc的管理层,作用在用户和驱动程序之间。的管理层,作用在用户和驱动程序之间。 数据源名数据源名 是在是在“控制面板控制面板管理工具管理工具数据源(数据源(odbc)”中设置的数据中设置的数据 源名。源名。loginname是用户名,是用户名,password是用户口令。如果没是用户口令。如果没 有为数据源设置用户名和用户口令,连接形式如下:有为数据源设置用户名和用户口令,连接形式如下: connection conn = drivermanager.getconn
27、ection(jdbc:odbc:数据数据 源名源名,); 一旦一旦drivermanager.getconnection方法找到了建立连接的驱动程方法找到了建立连接的驱动程 序和数据源,则通过用户名和口令开始与序和数据源,则通过用户名和口令开始与dbms建立连接,如果建立连接,如果 连接通过,连接建立完成。连接通过,连接建立完成。 22 jsp (4) 发送发送sql语句(语句(p235) statement类的对象由类的对象由connection 的的createstatement 方法创建,用于发送不带参数的简单方法创建,用于发送不带参数的简单sql语句,对语句,对 数据库进行具体操作,
28、如查询、修改等。数据库进行具体操作,如查询、修改等。在执行一在执行一 个个sol查询语句前,必须用查询语句前,必须用createstatement方法建立方法建立 一个一个statement类的对象类的对象。例如:。例如: connection conn =drivermanager.getconnection(jdbc:odbc:booksho plk,sa,); statement stmt = conn.createstatement(); 23 jsp (5)创建结果集对象(创建结果集对象(p236) 一旦连接到数据库,就可以查询数据表名、列名和有关一旦连接到数据库,就可以查询数据表名
29、、列名和有关 的信息,并且可以运行的信息,并且可以运行sql语句对数据库的数据进行查语句对数据库的数据进行查 询、添加、更新和删除等操作。询、添加、更新和删除等操作。jdbc提供了提供了resultset、 databasemetadata和和resultsetmetadata类获取数据库中类获取数据库中 的信息。的信息。 resultset类存放查询结果类存放查询结果,并通过一套方法提供对数据,并通过一套方法提供对数据 的访问。它是的访问。它是jdbc中很重要的对象。中很重要的对象。resultset包含任包含任 意数量的命名列,可以按名字访问这些列;它也包含一意数量的命名列,可以按名字访问
30、这些列;它也包含一 或多个行,可以按顺序自上而下地逐一访问。例如:或多个行,可以按顺序自上而下地逐一访问。例如: statement stmt = con.createstatement(); resultset rs; rs=stmt.executequery(select * from booktable where bookid=isbn 7-04-012301-0); 24 jsp 当建立一个当建立一个resultset类对象时,它指向第一行之前的位类对象时,它指向第一行之前的位 置。置。resultset 对象常用方法如下:对象常用方法如下: getint(int):将序号为:将序号
31、为int的列的内容作为整数返回;的列的内容作为整数返回; getint(string):将名称为:将名称为string的列的内容作为整数返的列的内容作为整数返 回;回; getfloat(int):将序号为:将序号为int的列的内容作为一个的列的内容作为一个float型型 数返回;数返回; getfloat (string):将名称为:将名称为string的列的内容作为的列的内容作为float 型数返回;型数返回; getdata(int):将序号为:将序号为int的列的内容作为日期返回;的列的内容作为日期返回; getdata(string):将名称为:将名称为string的列的内容作为日期
32、的列的内容作为日期 返回;返回; next():把行指针移到下一行,如果没有剩余行,则返:把行指针移到下一行,如果没有剩余行,则返 回回false; close():关闭结果集;:关闭结果集; getmetadata():返回返回resultsetmetadata对象。对象。 25 jsp resultsetmetadata类实例提供类实例提供resultset中列的名称、中列的名称、 数目和类型信息。例如:数目和类型信息。例如: resultsetmetadata rsmd; rsmd=results.getmetadata(); numcols= rsmd.getcolumncount()
33、; resultsetmetadata对象常用方法如下:对象常用方法如下: getcolumncount():返回返回resultset中的列数;中的列数; getcolumnname(int):返回序号为返回序号为int的列名;的列名; getcolumnlabel(int):返回序号为:返回序号为int列暗含的标签;列暗含的标签; iscurrency(int):如果此列包含有货币单位的一个数:如果此列包含有货币单位的一个数 字,则返回字,则返回true; isreadonly(int):如果此列是只读,则返回:如果此列是只读,则返回true; isautoincrement(int):如
34、果此列自动递增,则返回:如果此列自动递增,则返回 true。 26 例例9.2(p237): 输出输出booktable 表中各列的名称。代码创建了表中各列的名称。代码创建了 resultsetmetadata对象对象rsmd ,并使用,并使用getcolumncount()和和 getcolumnname()方法取得方法取得booktable表中的列数和列名。表中的列数和列名。 输出输出 booktable 表各列的名称表各列的名称 输出输出 booktable 表各列的表各列的 名称名称 输出booktable 表列名 27 jsp 记录集中共有记录集中共有 列列 ,各列的名称是:,各列的
35、名称是: / getcolumncount():返回:返回resultset中的列数中的列数 % for(int i = 1; i 28 (6) 执行执行sql语句语句 statement对象提供了对象提供了3种执行种执行sql语句的方法:语句的方法: executequery:用于产生单个结果集的语句,例如用于产生单个结果集的语句,例如 select语句。语句。 rs = stmt.executequery(select * from booktable); executeupdate:用来执行用来执行insert、delete以及以及sqlddl (数据定义语句)。(数据定义语句)。 ex
36、ecute:用来返回多个结果集、多个更新计数或两用来返回多个结果集、多个更新计数或两 者组合的语句。者组合的语句。 29 jsp 9.3 9.3 查询记录查询记录 11.3.1 顺序查询顺序查询 应用结果集应用结果集result的的next()方法顺序输出一个表里的包方法顺序输出一个表里的包 含全部字段的所有记录。含全部字段的所有记录。 例例9.3(p238) :顺序输出数据表:顺序输出数据表“ booktable”中的中的 所有记录和所有字段。所有记录和所有字段。 分析:使用代码分析:使用代码 “ select * from booktable” 从从booktable数据表选择数据表选择
37、所有的记录,放置在所有的记录,放置在rs结果集中,然后使用结果集中,然后使用rs.next() 方法将结果集中的数据顺序显示出来。方法将结果集中的数据顺序显示出来。 顺序查询 30 顺序查询顺序查询 顺序输出数据表顺序输出数据表 “ booktable”中包含所有字段的所有记录中包含所有字段的所有记录 bookidbooknameauthorpublisher pubdatepricetypequantity 31 32 jsp 9.3.2 参数查询参数查询 数据筛选是指按条件从数据库中选出符合条件的所有数据筛选是指按条件从数据库中选出符合条件的所有 记录,由记录,由where子句指定选择记录
38、时要满足的条件。子句指定选择记录时要满足的条件。 例例 9.4(p240):用户在界面输入查询条件,如出版社用户在界面输入查询条件,如出版社 的名称,输入的名称提交给的名称,输入的名称提交给ex9-04.jsp处理,输出数据处理,输出数据 表表“ booktable”中需要查询的出版社出版的图书。其中需要查询的出版社出版的图书。其 关键查询语句为:关键查询语句为: select * from booktable where publisher=+publishername+ 参数查询 33 jsp ex9-04.html代码清单代码清单如下:如下: 参数查询应用案例参数查询应用案例 图图 书书 查查 询询 请输入出版社名称:请输入出版社名称: 34 ex9-04.jsp代码清单代码清单如下:如下: 选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年消防工程师资格认证考试试题及答案
- 2025年企业管理咨询师考试试卷及答案
- 2025年计算机视觉工程师考试试题及答案
- 2025年药物化学与药理学考试试题及答案
- 山水度假村客房委托经营管理与服务合同
- 垃圾处理场排放标准提升补充协议
- 文艺电影替身艺术风格演绎协议
- 家庭财产管理与责任风险防范合同
- 高效模具验收与后期优化服务补充协议
- 《Excel入门教程》课件
- 安徽省水环境功能区划
- 检验报告单的正确解读方法(45张)课件
- 微信小程序开发与实战(微课版)-教学大纲
- 还建房买卖合同
- 学习动机精品课件
- 汽车安全工程-教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编
- (完整版)反应釜课件
- 群体改良和轮回选择课件
- D502-15D502等电位联结安装图集
- 牛排西式餐厅管理餐饮培训资料 豪客来 服务组排班表P1
- 一文看懂友宝在线招股书
评论
0/150
提交评论