第十章C数据库操作ppt课件_第1页
第十章C数据库操作ppt课件_第2页
第十章C数据库操作ppt课件_第3页
第十章C数据库操作ppt课件_第4页
第十章C数据库操作ppt课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、第第10章章 C#的数据库操作的数据库操作内容提要:内容提要: 数据库的概念数据库的概念 Access数据库、数据库、SQL常用语句常用语句 ADO.NET编程编程目的要求:目的要求: 了解数据库的概念了解数据库的概念 掌握掌握Access数据库的用法数据库的用法 可以进展可以进展ADO.NET编程编程重点难点:重点难点: ADO.NET编程编程10.1 Access 数据库数据库 “数据库管理系统数据库管理系统DBMSdatabase management system那么是用来操作那么是用来操作与管理数与管理数 据库的软件,据库的软件,Microsoft Access、Microsoft

2、SQL Server、Oracle都是属于都是属于DBMS软件,经过这些软件,用户可以软件,经过这些软件,用户可以对数据进展定义、创建与运对数据进展定义、创建与运 算,其中算,其中“定义定义define是指明数据是指明数据的类型、的类型、 构造及其相关限制,构造及其相关限制,“创建创建construct是输是输 入并保管数据,而入并保管数据,而“运算运算manipulate那么包那么包 括查询、更新、插入、删除、产生报表括查询、更新、插入、删除、产生报表等操作。等操作。 10.1.1 建立建立Access数据库表数据库表1. 翻开空白数据库翻开空白数据库 (1) 选按选按“开场开场|“程序程序

3、|“Microsoft Access,启动启动Access,然后单击菜单,然后单击菜单“文件文件|“新建,屏幕上新建,屏幕上会出会出现如下图的现如下图的“新建文件面板,在该面板中点取新建文件面板,在该面板中点取“空空数据库。数据库。翻开空白数据库翻开空白数据库 2出现出现“文件新建数据库对话框,如下图,文件新建数据库对话框,如下图,指定新数据库的保管位置、文件名,然后按指定新数据库的保管位置、文件名,然后按“创创建。在此,将新数据库存放在建。在此,将新数据库存放在“我的文档内,我的文档内,文文件称号为件称号为“Friend,文件夹型为,文件夹型为“Microsoft Office Access

4、数据库。数据库。保管空白数据库保管空白数据库 定义各个表的字段称号与数据类型定义各个表的字段称号与数据类型1出现如下图的窗口,在出现如下图的窗口,在“运用设计器创建表上双击。运用设计器创建表上双击。 运用设计器创建表运用设计器创建表 2在在“字段称号字段输入表第一个字段称号在此为字段称号字段输入表第一个字段称号在此为“编号,然后在编号,然后在“数据类型字段的下拉式列表框中选数据类型字段的下拉式列表框中选取这个字段的数据类型在此为取这个字段的数据类型在此为“数字,再于数字,再于“阐明阐明字段输入这个字段的描画文字,如下图。字段输入这个字段的描画文字,如下图。设置字段设置字段 3按照图所示输入八个

5、字段、数据类型及阐明。按照图所示输入八个字段、数据类型及阐明。详细设置字段详细设置字段 4接下来要指定主键,选择接下来要指定主键,选择“编号字段,按一下工编号字段,按一下工具栏的具栏的“主键按钮,或单击鼠标右键,在弹出的快捷主键按钮,或单击鼠标右键,在弹出的快捷菜单中选择菜单中选择“主键,随即会看到主键,随即会看到“编号字段旁多了一编号字段旁多了一个钥匙符号,表示个钥匙符号,表示“编号字段为主键,然后点取编号字段为主键,然后点取“封锁封锁按钮,此时,按钮,此时,Access会讯问能否要保管表,点击会讯问能否要保管表,点击“是。是。设置主键设置主键 5在在“另存为对话框的另存为对话框的“表称号字

6、段输入表的表称号字段输入表的称号在此为称号在此为“俱乐部,然后单击俱乐部,然后单击“确定按钮,确定按钮,如下图。如下图。保管表保管表 6“数据库窗口中添加了如图的数据库窗口中添加了如图的“俱乐部表。俱乐部表。“俱乐部表俱乐部表 1在在“俱乐部表按一下鼠标右键,然后选择俱乐部表按一下鼠标右键,然后选择“翻开。翻开。 2按照图按照图10-9所示输入所示输入20条记录,输入终了之后,单条记录,输入终了之后,单 击击 “封锁按钮,封锁按钮,Access会自动保管。会自动保管。3. 输入表的数据输入表的数据“俱乐部表的记录俱乐部表的记录 10.1.2 Access数据库操作数据库操作 1. 创建新数据库

7、工程创建新数据库工程 利用利用Visual C#的编程导游创建一个新工程,设计的编程导游创建一个新工程,设计名为:名为: Friend。如下图。如下图。创建新工程创建新工程Friend 2. 创建数据库衔接创建数据库衔接 对数据库的操作首先要和数据库建立一个衔接,对数据库的操作首先要和数据库建立一个衔接,与数据库建立衔接可以经过系统提供的控件实现,详与数据库建立衔接可以经过系统提供的控件实现,详细步骤如下:细步骤如下: 1翻开工具箱中的翻开工具箱中的“数据卷展栏。如下图。数据卷展栏。如下图。工具箱中的工具箱中的“数据卷展栏数据卷展栏2选择选择“DataGridView组件按钮,并将其拖动到应组

8、件按钮,并将其拖动到应 用程序窗口上,将弹出用程序窗口上,将弹出“DataGridView义务菜义务菜 单,如下图。这个导游将指点编程人员一步步单,如下图。这个导游将指点编程人员一步步 地完成对数据库的衔接操作。地完成对数据库的衔接操作。“DataGridView义务菜单义务菜单 3展开展开“DataGridView义务菜单的义务菜单的“选择数据源列选择数据源列 表,选择表,选择“添加工程数据源,假设以前已建好数添加工程数据源,假设以前已建好数 据库的衔接,可以直接单击据库的衔接,可以直接单击“选择数据源列表中选择数据源列表中 已建好的衔接的选项。假设还没有建好的衔接,已建好的衔接的选项。假设

9、还没有建好的衔接, 可以经过单击可以经过单击“添加工程数据源按钮建立新的连添加工程数据源按钮建立新的连 接。接。 4在弹出的在弹出的“数据源配置导游对话框中选择数据源数据源配置导游对话框中选择数据源 类型类型“数据库,单击数据库,单击“下一步按钮。下一步按钮。5在在“数据源配置导游对话框中单击数据源配置导游对话框中单击“新建衔接,如下图。新建衔接,如下图。“数据源配置导游对话框中选择数据衔接数据源配置导游对话框中选择数据衔接6弹出弹出“添加衔接对话框,见图所示,首先查看数据源添加衔接对话框,见图所示,首先查看数据源类型能否需求更改,假设要更改,单击类型能否需求更改,假设要更改,单击“更改按钮。

10、弹出更改按钮。弹出“更改数据源对话框,见图所示,在更改数据源对话框,见图所示,在 其对话框中选择他所其对话框中选择他所需求的数据源,然后单击需求的数据源,然后单击“确定按钮。确定按钮。“添加衔接对话框添加衔接对话框“更改数据源对话框更改数据源对话框 7在在“添加衔接对话框中,用户既可以经过在添加衔接对话框中,用户既可以经过在“数数据据 库称号文本输入框中直接输入所用数据库文件的绝库称号文本输入框中直接输入所用数据库文件的绝对对 途径,也可以经过单击途径,也可以经过单击“ 数据库称号数据库称号 文本输入框右文本输入框右边边 的的“ 阅读阅读 按钮找到所要访问的数据库绝对途径从而按钮找到所要访问的

11、数据库绝对途径从而完完 成数据库访问途径设置。成数据库访问途径设置。 8单击单击“下一步,接着在下一步,接着在“数据源配置导游对话框数据源配置导游对话框中中 选择数据库对象选择数据库对象 9单击单击“完成按钮。前往到完成按钮。前往到“DataGridView义务义务菜菜 单,可以对其它内容进展设置,如单,可以对其它内容进展设置,如“编辑列、编辑列、“添添加加 列等。列等。10在运用程序窗口显示如下图。在运用程序窗口显示如下图。运用程序窗口显示结果运用程序窗口显示结果 11调试程序,运转结果如下图。调试程序,运转结果如下图。数据库信息显示数据库信息显示 10.1.3 SQL言语简介及常用的言语简

12、介及常用的SQL命令命令 SQL(Structured Query Lanuage,构造化查,构造化查询言语询言语)是现代关系数据库的规范言语。如今的是现代关系数据库的规范言语。如今的大多数数据库系统都采用大多数数据库系统都采用SQL言语作为共同的数言语作为共同的数据存取言语和规范接口,使不同数据库系统之间据存取言语和规范接口,使不同数据库系统之间的互操作成为了能够。的互操作成为了能够。 假设要运用假设要运用SQL编写程序,那么需求另一言编写程序,那么需求另一言语或平台来实现一切实践信息的显示。语或平台来实现一切实践信息的显示。 SQL言语的功能极为强大,言语非常简捷,言语的功能极为强大,言语

13、非常简捷,如今引见常用的如今引见常用的4个命令。个命令。 1.SELECT命令查询命令命令查询命令格式:格式:SELECT |* FROM 功能:对数据库中的数据进展查询。功能:对数据库中的数据进展查询。例如:例如:SELECT * FROM STU1语句:语句:SELECT 学号,姓名,数学学号,姓名,数学 FROM STU1语句:语句:SELECT 学号,数学学号,数学+5 FROM STU1WHERE关键字关键字在在WHERE子句中,用条件表达式来确定要显示子句中,用条件表达式来确定要显示的记录。的记录。 WHERE 例如:例如:SELECT 学号,姓名学号,姓名 FROM STU1 W

14、HERE 数学数学=90SELECT 学号学号,姓名姓名 FROM STU1 WHERE 数学数学 =90 OR 平均分平均分=85BETWEEN关键字关键字在在WHERE子句中可以运用子句中可以运用BETWEEN来指定可接受值来指定可接受值的范围。的范围。例如:要显示学生档案表例如:要显示学生档案表STU2中数学成果在中数学成果在91到到92的学的学生情况。生情况。SELECT * FROM STU2 WHERE 数学数学 BETWEEN (91) AND92LIKE关键字关键字格式:格式: WHERE LIKE 阐明阐明:字符串常量中的字符可以包含如下两个特殊符号字符串常量中的字符可以包含

15、如下两个特殊符号: % 表示恣意长度的字符串表示恣意长度的字符串; _ 表示恣意一个字符表示恣意一个字符例例:查询一切姓查询一切姓 “张的学生的学号和姓名。张的学生的学号和姓名。 SELECT 学号学号,姓名姓名 FROM 学生表学生表 WHERE 姓名姓名 LIKE 张张%例例: 查询第二个汉字是查询第二个汉字是“红的学生的学号和姓名红的学生的学号和姓名 SELECT 学号学号,姓名姓名 FROM 学生表学生表 WHERE 姓名姓名 LIKE _红红%IN关键字关键字 在在WHERE子句中运用子句中运用IN可以指定值能否在表中。可以指定值能否在表中。例如:显示学号为例如:显示学号为 9621

16、02 和和962104 的记录。的记录。SELECT * FROM STU2 WHERE 学号学号 in (“962102,“962104) ORDER BY关键字关键字 ORDER BY ASC|DESC子句用来对子句用来对数据结果排序,数据结果排序,ASC按升序陈列,按升序陈列,DESC按降序陈列,默按降序陈列,默许是许是ASC。如:如: SELCET * FROM STU1 WHERE 数学数学 IN(78,92,91) 其结果按原记录顺序显示,要安数学成果排序,需加其结果按原记录顺序显示,要安数学成果排序,需加上上ORDER BY 子句。如下例:子句。如下例:SELECT * FROM

17、 STU1 WHERE 数学数学 IN(78,92,91) ORDER BY 数学数学2. INSERT命令插入命令命令插入命令格式:格式:INSERT INTO (字段列表字段列表) VALUE (数据列表数据列表)功能:插入一条新记录,其内容是将功能:插入一条新记录,其内容是将VALUE后数据列后数据列表中的数据依次送到表中的数据依次送到(字段列表字段列表) 中的各字段。中的各字段。 如:如:INSERT INTO STU1 (学号学号,姓名姓名,计算机根底计算机根底,数学数学,马马列原理列原理,体育体育,总分总分,平均分平均分VALLUE (962105, 李小李小丽丽,77,88,90

18、,80.2)3. UPDATE命令更新命令命令更新命令格式:格式:UPDATE SET ,=WHERE 例如:例如:UPDATE STU2 SET 就读方式就读方式统招统招UPDATE STU1 SET 计算机根底计算机根底计算机根底计算机根底1.15%4.DELETE命令删除命令命令删除命令格式:格式:DELETE FROM 表文件名表文件名 WHERE 表表达式达式如:如:DELETE FROM STU2 WHERE 性别性别= 女女10.2 客户客户/效力器效力器C/S方式编程方式编程 在网络运用中,运用方式的开展变化,可以按出在网络运用中,运用方式的开展变化,可以按出现的时间次序为:现

19、的时间次序为: (1) 文件效力器方式及域方式文件效力器方式及域方式 (2) 客户机客户机/效力器方式效力器方式client/server方式以方式以下简称为下简称为C/S方式方式 (3) 以以Internet/Intranet为网络环境的为网络环境的B/SBrowser/Server方式方式 (4) 电子商务的电子商务的B2B方式和方式和B2C方式方式 其中文件效力器方式及域方式主要是从对用其中文件效力器方式及域方式主要是从对用户和资源管理角度思索的,数据计算发生在每个户和资源管理角度思索的,数据计算发生在每个用户的任务站上。而用户的任务站上。而B/S方式是方式是C/S方式在方式在Inter

20、net环境下的新的表达方式。电子商务那么事从网络环境下的新的表达方式。电子商务那么事从网络运用领域这一角度而言的。运用领域这一角度而言的。 从最典型的数据库管理系统的运用来看,在从最典型的数据库管理系统的运用来看,在LAN上采取上采取的的C/S方式,即指在方式,即指在LAN中至少有一台数据库效力器中至少有一台数据库效力器DBMS server,可以作为希望去存取公共数据库的各台任务站的后,可以作为希望去存取公共数据库的各台任务站的后援支持。把运用义务中的程序执行内容划分成两部分:与数援支持。把运用义务中的程序执行内容划分成两部分:与数据库存取有关的部分由据库存取有关的部分由DBMS serve

21、r承当,与运用的人机界面承当,与运用的人机界面处置,输入处置,输入/输出或一部分运用的逻辑功能等有关的内容由输出或一部分运用的逻辑功能等有关的内容由client端任务站承当。端任务站承当。 10.3 ADO.NET概念概念 无论什么样的程序,都要与数据打交道,如无论什么样的程序,都要与数据打交道,如今的程今的程序中要处置的信息量越来越大,早已不能满足几序中要处置的信息量越来越大,早已不能满足几个变量个变量所提供的信息量,而是把大量信息预先存储到数所提供的信息量,而是把大量信息预先存储到数据库文据库文件中,然后利用某种技术读取数据库中的预存信件中,然后利用某种技术读取数据库中的预存信息,将息,将

22、读取的信息送给程序界面显示出来,或将新内容读取的信息送给程序界面显示出来,或将新内容存入数存入数据库。据库。ADO.NET就是就是担任数据存取的对象。就是就是担任数据存取的对象。10.4 ADO.NET对象对象 10.4.1 Connection对象对象 Connection对象用于衔接数据库。不同的数据对象用于衔接数据库。不同的数据库有不同的库有不同的 Connection对象。对于对象。对于Access数据库的数据库的Connection对象主要是对象主要是 OleDbConnection对象,它的主要功能是担任数据对象,它的主要功能是担任数据库的衔接。库的衔接。 在衔接到数据库时必需提供

23、衔接到数据库的一些在衔接到数据库时必需提供衔接到数据库的一些属性,如:属性,如: Provider、DataSource等。等。 例:例:OleDbConnection myconn=new OleDbconection(“Provider= Microsoft.Jet.OLEDB.4.0;Data Source=f:test.mdb);例:例: OleDbConnection myconn=new OleDbconection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:test.mdb); 字符串太长,可以改写成如下两条命令:字符串太长,

24、可以改写成如下两条命令: string strCon=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:test.mdb); OleDbConnection myconn=new OleDbconection(strCon); OleDbconection的两个重要方法:的两个重要方法: Open( ) 方法:翻开与数据库表的衔接方法:翻开与数据库表的衔接 例:例:myconn.Open( ); Close( )方法方法: 封锁与数据库表的衔接封锁与数据库表的衔接 例:例:myconn.Close( )例:例: private void butto

25、n1_Click(object sender, System.EventArgs e) try string strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:book.mdb; OleDbConnection myConn=new OleDbConnection(strCon); myConn.Open(); MessageBox.Show(数据库衔接胜利!数据库衔接胜利!); myConn.Close(); catch MessageBox.Show(衔接错误衔接错误,错误错误); 例:例: public void GetConne

26、cted() trystring strCon=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:Book.mdb; OleDbConnection myConn=new OleDbConnection(strCon); string strCom=SELECT * FROM book; this.myDataSet=new DataSet(); myConn.Open(); MessageBox.Show(衔接胜利!衔接胜利!); O l e D b D a t a A d a p t e r m y C o m m a n d = n e w O

27、leDbDataAdapter(strCom,myConn); myCommand.Fill(myDataSet,book); myConn.Close(); catch(Exception e) MessageBox.Show(衔接错误!衔接错误!+e.ToString(),错误错误); private void button1_Click(object sender, System.EventArgs e) GetConnected(); dataGrid1.DataSource=myDataSet.Tablesbook; 10.4.2 OleDbCommand对象对象 OleDbComm

28、and对象主要用来执行包括添加数据、对象主要用来执行包括添加数据、删除数据、修正数据以及查询数据的操作的命令对象。删除数据、修正数据以及查询数据的操作的命令对象。例例 : O l e D b C o m m a n d i n s t = n e w OleDbCommand(“DELETE FROM book WHERE id=1002, myConnection1);SQL命令的执行普通用命令的执行普通用ExecuteNonQuery( )方法。方法。 ExecuteNonQuery( )方法:方法: 执行执行 不前往结果的不前往结果的SQL 语语句,常用于记录句,常用于记录 的插入、删除

29、、更新等的插入、删除、更新等操作。操作。 例:例:inst. ExecuteNonQuery( ); /应先把衔接翻开应先把衔接翻开 10.4.3 DataAdapter数据适配器对象数据适配器对象 用于在数据源和数据集之间交换数据。用于在数据源和数据集之间交换数据。 .NET提供两种主要的数据适配器以供数据库一同提供两种主要的数据适配器以供数据库一同运用:运用: 1OleDbDataAdapter控件控件 2SqlDataAdapter控件控件 由于我们运用由于我们运用Access建立数据库,因此主要用到建立数据库,因此主要用到OleDbDataAdapter控件。控件。 OleDbData

30、Adapter对象运用对象运用Fill()方法将数据从数方法将数据从数据源装载到数据集中。据源装载到数据集中。 格式:格式: O l e D b D a t a A d a p t e r 对 象 名对 象 名 = n e w OleDbDataAdapter(SQL命令命令,衔接名衔接名 );例:例:/ 创建一个和数据库的衔接创建一个和数据库的衔接 /SQL命令字符串命令字符串 string strCom=“SELECT * FROM 世界杯世界杯; /创建一个数据集创建一个数据集 DataSet myDataSet=new DataSet(); /用用 OleDbDataAdapter得到

31、一个数据集得到一个数据集 OleDbDataAdapter da=new OleDbDataAdapter(strCom, myConn); /把把DataSet绑定世界杯数据表绑定世界杯数据表 da.Fill(myDataSet, “世界杯世界杯; 10.4.4 DataAdapter数据适配器对象数据适配器对象 它的作用主要是在数据库与它的作用主要是在数据库与DataSet对象之对象之间传送数间传送数据。例如:在据。例如:在Command对象发出查询命令后,对象发出查询命令后,将获取的数据放入将获取的数据放入DataSet对象中。对象中。 .NET Framework提供两种主要的数据适配

32、器以供与数提供两种主要的数据适配器以供与数据库一同运用。据库一同运用。1OleDbDataAdapter,它适用于由,它适用于由OLE DB提供程提供程 序公开的任何数据源。序公开的任何数据源。2SqlDataAdapter,它适用于,它适用于SQL Server。由于该。由于该 对象不用经过对象不用经过OLE DB层,所以它比层,所以它比OleDbDataAdapter 快,但它只能用于快,但它只能用于SQL Server 7.0或更高版本。或更高版本。 由于我们运用由于我们运用Access建立数据库,因此用建立数据库,因此用OleDbDataAdapter控件。控件。 OleDbDataA

33、dapter对象运用对象运用Fill()方法将数据从数据源装载到方法将数据从数据源装载到数据集中。数据集中。 格式:格式: OleDbDataAdapter 对象名对象名=new OleDbDataAdapter(SQL命命 令令,衔接名衔接名 ); 10.4.5 DataSet对象对象 当向数据库恳求数据时,系统建立数据集和当向数据库恳求数据时,系统建立数据集和数据库之间的衔接。数据库之间的衔接。 ADO.NET向编程人员所提供的数据集对象向编程人员所提供的数据集对象是是DataSet。 DataSet对象是一个数据集,主要用来存放对象是一个数据集,主要用来存放从数据库中取回的数据。从数据库

34、中取回的数据。 命令格式:命令格式:DataSet 对象名对象名=new DataSet(); 例例: DataSet myDataSet=new DataSet(); 数据集是包含数据表的集合,数据表包含数据行数据集是包含数据表的集合,数据表包含数据行和列的集合,即和列的集合,即DataSet对象包含数据表的集合对象包含数据表的集合Tables,而而DataTable对象包含数据行的集合对象包含数据行的集合Rows、数、数据列的集合据列的集合Columns。因此可以直接运用这些对象访。因此可以直接运用这些对象访问数据集中的数据。问数据集中的数据。 例例: textBox1.Text=myDa

35、taSet.Tables0.Rows3.ItemArray1.ToString();ADO.NET编程过程普通可以分为五步:编程过程普通可以分为五步: 1与数据库建立衔接创建与数据库建立衔接创建Connection对象对象 假设用假设用OleDbConnection命令建立衔接,应参与如下代码:命令建立衔接,应参与如下代码: using System.Data.OleDb; 衔接的两个重要方法:衔接的两个重要方法: Open()方法方法 Close()方法方法 例:例: string strCon=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:

36、book.mdb);OleDbConnection myconn=new OleDbconection(strCon);myconn().Open();Myconn().Close(); 2执行执行SQL命令创建命令创建Command对象对象 SQL命令主要有命令主要有SELECT、INSERT、UPDATE、DELETE。 3数据集编程创建数据集编程创建DataSet对象对象) 在在ADO.NET中,建立衔接后就需求运用数据命令打包中,建立衔接后就需求运用数据命令打包SQL语句或存储过程。数据集就是暂时存储从数据库检索的语句或存储过程。数据集就是暂时存储从数据库检索的记录,是从数据源检索的记

37、录的缓存,数据集中可包含一个记录,是从数据源检索的记录的缓存,数据集中可包含一个或多个表,这些表基于实践数据库中的表。或多个表,这些表基于实践数据库中的表。 由于数据集实践上是数据库的私有副本,所以它不一定由于数据集实践上是数据库的私有副本,所以它不一定反映数据库的当前形状。假设想要查看其他用户进展的最新反映数据库的当前形状。假设想要查看其他用户进展的最新更改,可以经过调用适当的更改,可以经过调用适当的Fill()方法刷新数据集。方法刷新数据集。 4数据绑定创建数据绑定创建DataAdapter Windows窗体的数据绑定便于在窗体控件中显示数据,假窗体的数据绑定便于在窗体控件中显示数据,假设运用设运用DataGrid控件,那么需求运用控件,那么需求运用DataGrid控件进展绑定。控件进展绑定。主要经过主要经过Fill()方法。方法。 5 用户

温馨提示

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

评论

0/150

提交评论