版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 ADO.NET数据库编程数据库编程 内容提要n本章首先介绍本章首先介绍ADO.NET的结构。的结构。n详细介绍详细介绍ADO.NET的的Connection对象,对象,Command对象、对象、DataReader对象、对象、DataAdapter对象和对象和DataSet对象。对象。n介绍常用的数据源控件和数据绑定控件。介绍常用的数据源控件和数据绑定控件。网络数据库编程基础n在.NET框架中,包含了自己的数据访问技术ADO.NET。ADO.NET的名称起源于ADO(ActiveX Data Objects)。nADO.NET包含一组托管的类使得Web应用程序可以连接数据源、执行命
2、令以及管理非连接的数据。nASP.NET同样使用服务器控件来进行数据处理。ASP.NET中提供两类数据控件。一类是数据源(Data Source)控件。另一类是数据绑定(Data-bound)控件。6.1 ADO.NET的结构 nADO.NET有两个核心组件:.NET数据提供程序和DataSet。.NET数据提供程序 n表6-1 .NET数据提供程序的四个核心对象 对象说明Connection建立与特定数据源的连接。Command对数据源执行命令。DataReader从数据源中读取只进且只读的数据流。DataAdapter 用于将数据填充到 DataSet。SQL Server .NET 数据
3、提供程序 n对应SQL Server.NET的4个核心对象分别是:SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter。这4个对象包含在System.Data.SqlClient命名空间中,需要将这个命名空间引入到文件中。nSQL Server.NET数据提供程序对SQL Server数据库的底层操作进行了封装,可以更加快捷地访问SQL Server数据库。OLE DB .NET 数据提供程序 n对应OLE DB .NET的4个核心对象分别是:OleDbConnection、OleDbCommand、OleDbDataReader和OleD
4、bDataAdapter。这4个对象包含在System.Data.OleDb命名空间中,需要将这个命名空间引入到文件中。n目前主要用来访问Access、Foxpro等简单的数据源。Oracle DB .NET数据提供程序 n对应Oracle DB .NET的4个核心对象分别是:OracleConnection、OracleCommand、OracleDataReader和OracleDataAdapter。n这4个对象包含在System.Data.OracleClient命名空间中,需要将这个命名空间引入到文件中。ODBC.NET数据提供程序 n对应ODBC .NET的4个核心对象分别是:Od
5、bcConnection、OdbcCommand、OdbcDataReader和OdbcDataAdapter。这4个对象包含在System.Data.Odbc命名空间中,需要将这个命名空间引入到文件中。n通过ODBC建立的数据源都可以通过ODBC.NET数据提供程序访问。DataSet对象简介nDataSet是ADO.NET的核心组件,内部用XML描述数据,具有平台无关性。nDataSet 包含一个或多个 DataTable对象的集合,这些对象由数据行和数据列以及 DataTable 对象中数据的主键、外键、约束和关系信息等组成。nDataSet通过DataAdapter对象从数据源得到数据
6、,DataAdapter是连接DataSet和数据库的一个桥梁,因此命名为:“数据适配器”。Connection对象 n用于建立数据库连接,常用方法有Open()和Close()。Data Source属性用来获取数据源的服务器名或文件名;Provider属性用来指定数据库驱动程序;ConnectionString属性用来指定连接字符串。案例名称:使用案例名称:使用Connection对象对象 程序名称:程序名称:6-01.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Con
7、n.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();使用使用Connection对象的构造函数对象的构造函数案例名称:使用案例名称:使用Connection对象的构造函数对象的构造函数程序名称:程序名称:6-02.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn;Conn=
8、newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();连接连接SQL Server数据库的常用参数数据库的常用参数参数名称 参数说明Connection Timeout设置SqlConnection对象连接SQL Server数据库的超时时间,单位为妙,若超时,则返回连接数据库失败。默认值15秒。Data Source要连接的SQL Server数
9、据库服务器名称。Server要连接的SQL Server数据库服务器名称。Addr要连接的SQL Server数据库服务器的地址。User ID/uid设置登录SQL Server数据库的用户帐号。Password/pwd设置登录SQL Server数据库的密码。Initial Catalog设置要连接的数据库名称。Database设置要连接的数据库名称。使用使用Connection对象连接对象连接SQL Server数据库数据库案例名称:使用案例名称:使用Connection对象连接对象连接SQL Server数据库数据库程序名称:程序名称:6-03.aspxvoidPage_Load(Ob
10、jectsender,EventArgse)SqlConnectionConn;Conn=newSqlConnection(server=localhost;database=testdb;uid=sa;pwd=);/SQLServer身份验证/Conn=newSqlConnection(DataSource=ZXG;IntegratedSecurity=true;InitialCatalog=testdb;);/Windows身份验证Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();Command对象 n建立数据连接以后,
11、利用Command对象来执行命令并从数据源返回结果。n常用方法: ExecuteReader()、 ExecuteScalar() 和ExecuteNonQuery()。 nCommand对象常用的构造函数包括两个参数,1个是要执行的SQL语句,另一个是已经建立的Connnection对象,基本语法是:nOleDbCommand Comm=new OleDbCommand(select * from grade,Conn);ExecuteReader方法 n主要用来执行基本SQL查询语句,要求SQL返回记录集。案例名称:使用案例名称:使用ExecuteRader方法方法程序名称:程序名称:6-
12、04.aspx voidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand(select*fromgrade,Conn);OleDbDataReaderdr=Comm.ExecuteReader();dg.DataSour
13、ce=dr;dg.DataBind();Conn.Close();案例名称:使用案例名称:使用Like子句实现模糊查询子句实现模糊查询程序名称:程序名称:6-05.aspxvoidsubmit_click(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();stringsql=select*fromgrad
14、e;if(mytext.Text!=)sql=select*fromgradewhere姓名like%+mytext.Text+%;Message.Text=sql;OleDbCommandComm=newOleDbCommand(sql,Conn);OleDbDataReaderdr=Comm.ExecuteReader();dg.DataSource=dr;dg.DataBind();Conn.Close();请输入被查询的人名关键字ExecuteScalar方法 n该方法返回单个值,从相关的查询中返回第一行和第一列的值(Object 类型),一般用来执行聚合函数。案例名称:使用案例名称:
15、使用ExecuteScalar方法方法程序名称:程序名称:6-06.aspx voidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=selectavg(数学)fromgrade;OleDbCommandComm=newOleDbCommand(strSQL
16、,Conn);Doubled=(Double)Comm.ExecuteScalar();Message.Text=所有人数学的平均成绩为+d.ToString()+分;Conn.Close();ExecuteNonQuery方法 n用于执行不需要返回结果的命令,并返回受影响的行数。案例名称:使用案例名称:使用ExecuteNonQuery方法执行方法执行Insert语句语句程序名称:程序名称:6-07.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.Connectio
17、nString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=insertintograde(学号,姓名,数学)+values(99,小张,100);OleDbCommandComm=newOleDbCommand(strSQL,Conn);Comm.ExecuteNonQuery();Conn.Close();Response.Write(操作成功!);ADO.NET事务处理事务处理 n事务是一些事件的集合,执行一条SQL语句可理解成一个事件。
18、nADO.NET使用Connection对象的BeginTransaction()方法来声明事务开始,利用Transaction对象的Commit()方法来提交事务,利用Transaction对象的Rollback()方法来回滚事务。使用事务的基本格式使用事务的基本格式案例名称:使用事务的基本格式程序名称:6-08.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+Da
19、taSource=+Server.MapPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand();OleDbTransactionTrans;Trans=Conn.BeginTransaction();Comm.Connection=Conn;Comm.Transaction=Trans;tryComm.CommandText=UPDATEgradeSET数学=100WHERE姓名LIKE%周%;Comm.ExecuteNonQuery();Comm.CommandText=UPDATEgradeSET数学=60WHERE姓
20、名LIKE%张%;Comm.ExecuteNonQuery();Trans.Commit();Response.Write(事务执行成功!);catch(Exceptionex)Trans.Rollback();Response.Write(出现错误,事务已经回滚!);finallyConn.Close();DataReader对象 n取DataReader对象的数据,有两种方法:n1、通过和GridView等数据控件绑定,直接输出,使用方法如程序6-04.aspx。n2、另一种方法是利用循环将其数据取出。 使用DataReader对象输出数据案例名称:使用案例名称:使用DataReader对
21、象输出数据对象输出数据程序名称:程序名称:6-09.aspxprotected void Page_Load(object sender, EventArgs e) OleDbConnection Conn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + Server.MapPath(person.mdb); Conn.Open(); String strSQL = select * from grade; OleDbCommand Comm = new OleDbCommand(strSQL,
22、Conn); OleDbDataReader dr = Comm.ExecuteReader(); string html = ; html += ; html += 学号学号; html += 姓名姓名; html += 数学数学; html += ; try while (dr.Read() /读出每一条记录读出每一条记录 html += ; html += + dr学号学号.ToString() + ; html += + dr姓名姓名.ToString() + ; html += + dr数学数学.ToString() + ; html += ; html += ; catch (Ex
23、ception ex) Response.Write(ex.Message); finally dr.Close(); Conn.Close(); /关闭链接关闭链接 Response.Write(html); DataAdapter对象 nDataAdapter对象用于从数据源中获取数据,填充DataSet 中的表和约束,并将对DataSet的更改提交回数据源。nDataAdapter对象有4个重要属性,即SelectCommand、InsertCommand、UpdateCommand、DeleteCommand,都是Command对象,其中SelectCommand用来执行查询,其他三个
24、用于执行数据操作。n除了SelectCommand属性,其他三个属性都需使用“ExecuteNonQuery()”方法调用。使用DataAdapter对象的构造方法案例名称:使用案例名称:使用DataAdapter对象构造方法对象构造方法程序名称:程序名称:6-10.aspxprotectedvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);str
25、ingsql=select*fromgrade;Conn.Open();OleDbDataAdapter da = new OleDbDataAdapter(sql, Conn);/执行执行SQLDataSetds=newDataSet();da.Fill(ds,grade);/将da对象中的数据填充到ds对象中,并起别名“grade”dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();Conn.Close();使用使用DataAdapter对象的对象的SelectCommand属性属性 案例名称:使用案例名称:使用DataAdapte
26、r对象的对象的SelectCommand属性属性程序名称:程序名称:6-11.aspx voidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);stringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataAdapterda=newOleDbDataAd
27、apter();da.SelectCommand=Comm;Conn.Open();DataSetds=newDataSet();da.Fill(ds,grade);dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();Conn.Close();案例名称:使用案例名称:使用DataAdapter对象的对象的InsertCommand属性属性 程序名称:程序名称:6-12.aspxvoid Page_Load(Object Src, EventArgs E) OleDbConnection Conn=new OleDbConnection(
28、Provider=Microsoft.Jet.OLEDB.4.0;+ Data Source=+Server.MapPath(person.mdb); string strInsertSQL = INSERT INTO grade(学号学号,姓名姓名,数学数学) VALUES(111,盖茨盖茨,59); string strSelectSQL = SELECT * FROM grade WHERE 学号学号=111; string strUpdateSQL = UPDATE grade SET 数学数学=60 WHERE 学号学号=111; / 创建创建Command对象对象 OleDbCom
29、mand InsertComm = new OleDbCommand(strInsertSQL,Conn); OleDbCommand SelectComm = new OleDbCommand(strSelectSQL,Conn); OleDbCommand UpdateComm = new OleDbCommand(strUpdateSQL,Conn); / 创建创建DataAdapter对象对象da OleDbDataAdapter da=new OleDbDataAdapter(); Conn.Open(); da.SelectCommand = SelectComm; da.Upda
30、teCommand = UpdateComm; da.InsertCommand = InsertComm; / 创建并填充创建并填充DataSet DataSet ds = new DataSet(); da.Fill(ds,grade1); da.InsertCommand.ExecuteNonQuery(); da.Fill(ds,grade2); da.UpdateCommand.ExecuteNonQuery(); da.Fill(ds,grade3); / 将将DataSet绑定到绑定到GridView控件控件 dg1.DataSource=ds.Tablesgrade1.Defa
31、ultView; dg2.DataSource=ds.Tablesgrade2.DefaultView; dg3.DataSource=ds.Tablesgrade3.DefaultView; dg1.DataBind();dg2.DataBind();dg3.DataBind();Conn.Close(); / 关闭连接关闭连接 DataSet对象 nDataSet封装在命名空间“System.Data”中,它是从数据源中检索到的数据在内存中的缓存。DataSet中可以包含任意数量的DataTable(表示内存中数据的一个表),且每个DataTable对应数据库中的相关数据表和视图。n通过D
32、ataAdapter的Fill方法,将DataAdapter中SelectCommand的结果填充到DataSet对象中,而且可以填充多个表,利用别名来区分。比如“da.Fill(ds,grade1);”的功能是将da对象中的数据填充到ds对象中,并起别名“grade1” 。 案例名称:自动生成案例名称:自动生成DataSet对象对象程序名称:程序名称:6-13.aspx voidPage_Load(Objectsender,EventArgse)DataSetmyds=newDataSet();DataTablemydt=newDataTable(“Squares”);/创建一个DataTa
33、bleDataRowmydr;mydt.Columns.Add(newDataColumn(数字,typeof(Int32);mydt.Columns.Add(newDataColumn(平方,typeof(Int32);for(inti=0;i10;i+)mydr=mydt.NewRow();mydr0=i;mydr1=i*i;mydt.Rows.Add(mydr);myds.Tables.Add(mydt);dg.DataSource=myds.TablesSquares.DefaultView;dg.DataBind();操作操作DataSet对象对象案例名称:操作DataSet对象程序
34、名称:6-14.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();stringstrSQL=select*fromgrade;OleDbDataAdapterda=newOleDbDataAdapter(strSQL,Conn);DataSetds=newDataSet();da.Fill(ds,grade);DataTa
35、bledt=ds.Tablesgrade;DataRowrow=dt.NewRow();row学号=199;row姓名=小布什;row数学=58;dt.Rows.Add(row);OleDbCommandBuildercb=newOleDbCommandBuilder(da);/自动生成Adapter的Command命令。da.Update(ds,grade);/为DataSet中每个已插入、已更新或已删除的行调用相应的INSERT、UPDATE或DELETE语句。dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();Conn.Close
36、(); DataView对象 nDataView对象定义了DataTable的数据查看方式,表示用于排序、筛选等的 DataTable 的可绑定数据的自定义视图。封装在命名空间“Syste.Data”中。n默认查看方式是将数据以表格的形式排列,且排列顺序遵从从数据库表中取出数据时的排列顺序,也可以通过DataView对象使数据按照某些规律显示。使用使用DataView对象对象案例名称:使用案例名称:使用DataView对象对象程序名称:程序名称:6-15.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbCon
37、nection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);StringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataAdapterda=newOleDbDataAdapter();da.SelectCommand=Comm;Conn.Open();DataSetds=newDataSet();da.Fill(ds,grade);DataViewdv=newDataView(ds.T
38、ablesgrade);dv.RowFilter=数学60;dv.Sort=学号DESC,数学DESC;Response.Write(满足条件的记录有:+dv.Count+条);dg.DataSource=dv;dg.DataBind();Conn.Close();DataSet和DataReader的选择 n在决定应用程序应使用DataReader还是使用DataSet时,应考虑应用程序所需的功能类型。DataSet用于执行以下功能:n在应用程序中将数据缓存在本地,以便可以对数据进行处理。如果只需要读取查询结果,DataReader是更好的选择。n从XML Web服务对数据进行远程处理。n与
39、数据进行动态交互,对数据进行排序、筛选或组合并关联来自多个源的数据。n对数据执行大量的处理,而不需要与数据源保持打开的连接,从而将该连接释放给其他客户端使用。6.2 数据源控件n数据源控件是一组.NET框架类,便于数据存储和数据绑定控件之间的双向绑定。nASP.NET包含几种类型的数据源控件,这些数据源控件可以从不同的数据源检索数据,并将其提供给数据绑定控件。n数据源控件没有呈现形式,即在运行时是不可见的,而是用来表示特定的后端数据存储。内置的数据源控件 数据源控件说明SqlDataSource用来访问关系型数据库。用来访问关系型数据库。AccessDataSource用来访问用来访问Acce
40、ss数据库。数据库。ObjectDataSource允许使用自定义的类访问数据。XmlDataSource用来访问XML文件。SiteMapDataSource 用来访问分层的站点地图数据。连接到数据库n在连接到数据库时,需要指定数据源控件的几个属性。最重要的就是控件的ID以及“runat = “server”。另外,还要指明位于哪个服务器上的哪个数据库以及登录该服务器的用户名和密码。这些属性都包含在连接字符串中。nASP.NET的数据库编程虽然看上去比较复杂,不过通过开发环境中的数据库向导,可以很容易地完成网络数据库的连接和数据显示。n例:SqlDataSource.aspx6.3 数据绑定
41、控件n“数据绑定”的意思是将控件与存储在数据源中的信息绑定在一起。n数据绑定控件把数据源提供的数据作为标记,发给请求的客户端浏览器,然后将数据呈现在浏览器页面上。nASP.NET服务器控件有些可以作为数据绑定控件来使用。这种绑定可以通过修改该控件的DataSourceID属性使之连接到数据源控件上。数据绑定概述ListControl类控件n与数据库数据显示有关的属性主要包括:AppendDataBoundItem、DataSourceID、DataSource、DataTextField、DataValueField。nAppendDataBoundItem用于将数据绑定项追加到静态声明的列表
42、项上;nDataTextField绑定的字段用于显示列表项;nDataValueField绑定的字段用于设置列表项的值。 例:DropDownList控件数据绑定 n在DropDownList中将显示tb_Admin表的AdminName字段值,而列表项的值对应AdminID字段值。 n源程序:DropDownListSqlDS.aspx ASP.NET数据绑定控件数据绑定控件n主要包括:nGridViewnDetailsViewnFormViewnListViewnRepeater和DataList是1.1版就提供的控件,内置功能较弱,需要自己实现分页、排序、数据事件等功能。GridView
43、控件 nGridView控件用于显示二维表格形式的数据,支持以下功能:n绑定到数据源控件n内置排序功能n内置更新和删除功能n内置分页功能n内置行选择功能n对GridView对象模型进行编程访问以动态设置属性和处理事件n诸如CheckBoxField和ImageField等新的列类型n用于选择、更新和删除的多个数据键字段n可通过主题和样式自定义外观 GridView控件的列字段类型 列字段类型说明BoundField显示数据源中某个字段的值ButtonField为GridView控件中的每个项显示一个命令按钮CheckBoxField为GridView控件中的每一项显示一个复选框,在复选框中显示
44、布尔型数据字段的值CommandField显示用来执行选择、编辑或删除操作的预定义命令按钮。HyperLinkField将数据源中某个字段的值显示为超链接ImageField为GridView控件中的每一项显示一个图像。TemplateField根据指定的模板为GridView控件中的每一项显示用户定义的内容TemplateField模板对应表 模板模板说明说明AlternatingItemTemplate为交替项指定要显示的内容EditItemTemplate为处于编辑的项指定要显示的内容EmptyDataTemplate为空数据项指定要显示的内容FooterTemplate为脚注项指定要显
45、示的内容HeaderTemplate为标题项指定要显示的内容ItemTemplate为TemplateField列指定要显示的内容PagerTemplate为页码项指定要显示的内容GridView控件应用举例n对GridView中的数据进行分页和排序n利用GridView控件编辑、删除数据n自定义超链接列n自定义图像列n显示主从表对GridView中的数据进行分页和排序n要实现分页功能需要设置属性AllowPaging的值为True。n要实现排序功能需要设置属性AllowSorting的值为True。n例:GridView_sort.aspx利用GridView控件编辑、删除数据n“启用编辑”
46、和“启用删除”,可提供编辑和删除数据功能。n绑定至GridView的数据源控件也要提供更新、删除功能。n表的主键不能被编辑,GridView的属性DataKeyNames包含了表的主键信息。n例:GridView_link.aspx 自定义超链接列nHyperLinkField列的属性DataNavigateUrlFields对应页面显示到超链接的NavigateUrl属性;n属性DataNavigateUrlFormatString确定目标URL的格式,其中0在网页浏览时会被DataNavigateUrlFields对应的字段值代替;n例:GridView_img.aspx?aaa=0n属性
47、DataTextField对应页面显示到超链接的Text属性。自定义图像列n表字段存储了对应图片的路径,要在GridView中显示图片,只需设置ImageField列的DataImageUrlField属性;n若在存储时仅存储图片的文件名,则还需配合使用属性DataImageUrlFormatString;n例如,假设图片统一存放在网站根路径下的img文件夹中,字段Image存储图片的文件名,则设置如下:显示主从表n在同一页显示主从表n当单击“选择” 按钮时,GridView.SelectedValue返回选择行所对应的主键值,再将该值传递给另一数据源控件中查询语句的参数。n在不同页显示主从表n当单击主表网页中的链接时,相应的查询字符串传递到从表网页,再获取其中的值赋给where表达式的参数。n例:nGrid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度公路货物运输责任保险合同公约
- 2025年度焊接技术交流与合作研发合同
- 2025年度道路划线施工与交通设施安装合同范本
- 2025年新型生态社区环境绿化与维护合同
- 2025年度高端电子产品购物卡批量购销合同模板
- 2025年度大型会议现场布置与物料租赁合同
- 2025年度环保节能技术承包加工合同4篇
- 2025年度公益广告制作与发布合同-@-1
- 2025年度合同养鸡包回收项目环保合规性审查与投诉处理细则
- 2025年度云计算服务合同知识产权授权与保护条款
- 《中国心力衰竭诊断和治疗指南(2024)》解读完整版
- 抽水蓄能电站项目建设管理方案
- 《智能网联汽车智能传感器测试与装调》电子教案
- GB/T 32399-2024信息技术云计算参考架构
- 五级人工智能训练师(初级)职业技能等级认定考试题库(含答案)
- 2022年内蒙古呼和浩特市中考化学真题(解析版)
- 2024PowerTitan系列运维指导储能系统运维指导
- 沸石转轮知识讲解
- 固定资产盘点报告医院版
- 肿瘤患者全程管理
- DB13(J)T145-2012建筑工程资料管理规程(上册)
评论
0/150
提交评论