




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用網(wǎng)站本章講述的主要內(nèi)容8.1數(shù)據(jù)庫(kù)根底知識(shí)8.2使用數(shù)據(jù)庫(kù)系統(tǒng)8.3SQL查詢根底8.4ADO.NET簡(jiǎn)介8.5使用數(shù)據(jù)控件訪問數(shù)據(jù)庫(kù)8.6使用ADO.NET對(duì)象
8.1數(shù)據(jù)庫(kù)根底知識(shí)8.1.1有關(guān)數(shù)據(jù)庫(kù)的概念
1.數(shù)據(jù)庫(kù)2.數(shù)據(jù)庫(kù)管理系統(tǒng)3.數(shù)據(jù)庫(kù)應(yīng)用程序4.數(shù)據(jù)庫(kù)系統(tǒng)8.1數(shù)據(jù)庫(kù)根底知識(shí)8.1.2關(guān)系數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù)是根據(jù)表、記錄和字段之間的關(guān)系進(jìn)行數(shù)據(jù)組織和訪問的一種數(shù)據(jù)庫(kù),它通過(guò)假設(shè)干個(gè)表〔Table〕來(lái)存儲(chǔ)數(shù)據(jù),并通過(guò)關(guān)系〔Relation〕將這些表聯(lián)系在一起。近幾年來(lái),關(guān)系型數(shù)據(jù)庫(kù)已成為數(shù)據(jù)庫(kù)設(shè)計(jì)事實(shí)上的標(biāo)準(zhǔn),這不僅因?yàn)殛P(guān)系模型本省具有強(qiáng)大的功能,而且還由于它提供了稱為結(jié)構(gòu)化查詢語(yǔ)言StructureQueryLanguage〔SQL〕的標(biāo)準(zhǔn)接口,該接口允許以一致的和可以理解的方法來(lái)一起使用多種數(shù)據(jù)庫(kù)工具和產(chǎn)品。在一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中可以包含假設(shè)干張表,每張表又由假設(shè)干記錄組成,記錄由假設(shè)干字段組成。表與表之間通過(guò)關(guān)系連接。8.1數(shù)據(jù)庫(kù)根底知識(shí)8.1.2關(guān)系數(shù)據(jù)庫(kù)1.關(guān)系型數(shù)據(jù)庫(kù)的分類關(guān)系型數(shù)據(jù)庫(kù)一般可分為兩類,一類是桌面數(shù)據(jù)庫(kù),如Access、Paradox、FoxPro和dBase等。另一類是客戶/效勞器數(shù)據(jù)庫(kù),如SQLServer、Oracle、Sybase等。2.表、記錄和字段表〔Table〕是一種數(shù)據(jù)庫(kù)對(duì)象,由假設(shè)干條描述客觀對(duì)象多個(gè)特征的記錄〔Record〕也稱為行〔Row〕組成。表中每一列〔Column〕表示客觀對(duì)象的同一特征點(diǎn),也稱為字段〔Field〕。見表8-1和表8-2。8.1數(shù)據(jù)庫(kù)根底知識(shí)8.1.2關(guān)系數(shù)據(jù)庫(kù)
3.關(guān)鍵字
關(guān)鍵字是表中某個(gè)或多個(gè)字段,可以是唯一的,也可以是非唯一的。唯一關(guān)鍵字可以指定為主鍵,用來(lái)唯一標(biāo)識(shí)一條記錄。4.索引
為了更快地訪問數(shù)據(jù),大多數(shù)數(shù)據(jù)庫(kù)都使用關(guān)鍵字對(duì)表進(jìn)行索引。也就是按關(guān)鍵字對(duì)數(shù)據(jù)庫(kù)進(jìn)行排序,并建立一張索引表,每個(gè)索引輸入項(xiàng)指向該記錄在數(shù)據(jù)庫(kù)中的行。5.關(guān)系
數(shù)據(jù)庫(kù)中可以包含多張表,表與表之間可以用不同的方式相互關(guān)聯(lián)。這樣做可以充分利用數(shù)據(jù)庫(kù)中現(xiàn)有數(shù)據(jù),減少數(shù)據(jù)的冗余。8.2使用數(shù)據(jù)庫(kù)系統(tǒng)8.2.1MicrosoftAccessAccess數(shù)據(jù)庫(kù)管理系統(tǒng)是MicrosoftOffice的一個(gè)組件,是最常用的本地?cái)?shù)據(jù)庫(kù)之一。在C#中可以方便地使用數(shù)據(jù)庫(kù)對(duì)象,操作Access數(shù)據(jù)庫(kù)。1.創(chuàng)立數(shù)據(jù)庫(kù)2.創(chuàng)立數(shù)據(jù)表8.2使用數(shù)據(jù)庫(kù)系統(tǒng)8.2.2MicrosoftSQLServer前面介紹的Access數(shù)據(jù)庫(kù)屬于桌面數(shù)據(jù)庫(kù),主要在本地〔本計(jì)算機(jī)〕運(yùn)行。在本章中將主要介紹另一類數(shù)據(jù)庫(kù)的使用,即客戶機(jī)/效勞器〔Client/Server〕數(shù)據(jù)庫(kù),如SQLServer、Oracle和Sybase數(shù)據(jù)庫(kù)等。通過(guò)使用這種數(shù)據(jù)庫(kù)系統(tǒng),用戶可以方便地訪問遠(yuǎn)程數(shù)據(jù)信息,而且這種數(shù)據(jù)庫(kù)系統(tǒng)的多用戶性使得信息共享成為現(xiàn)實(shí)。本節(jié)將以安裝在Windows2000Server中的SQLServer2000企業(yè)版數(shù)據(jù)庫(kù)管理系統(tǒng)為背景介紹其使用方法。在SQLServer2000的企業(yè)管理器中用戶可以十分方便地創(chuàng)立數(shù)據(jù)庫(kù),創(chuàng)立數(shù)據(jù)庫(kù)包括有創(chuàng)立數(shù)據(jù)庫(kù)結(jié)構(gòu)、創(chuàng)立表、創(chuàng)立相應(yīng)的視圖及存儲(chǔ)過(guò)程等項(xiàng)工作。8.2使用數(shù)據(jù)庫(kù)系統(tǒng)8.2.2MicrosoftSQLServer1.創(chuàng)立SQLServer數(shù)據(jù)庫(kù)2.在SQLServer中創(chuàng)立表3.使用SQLServer客戶端工具
8.3SQL查詢根底SQL是StructuredQueryLanguage〔結(jié)構(gòu)化查詢語(yǔ)言〕的縮寫。表8-4中列舉了常用的SQL語(yǔ)句。表8-4SQL的主要語(yǔ)句及說(shuō)明8.3SQL查詢根底8.3.1查詢語(yǔ)句SelectSELECT語(yǔ)句主要用于從數(shù)據(jù)庫(kù)中返回需要的數(shù)據(jù)集,其語(yǔ)法格式為:SELECTselect_list[INTOnew_table_name]FROMtable_list[WHEREsearch_conditions][GROUPBYgroup_by_list][HAVINGsearch_conditions][ORDERBYorder_list[ASC|DESC]]8.3SQL查詢根底8.3.2插入記錄語(yǔ)句Insert使用Insert語(yǔ)句可以向表中插入一條記錄,該語(yǔ)句的語(yǔ)法格式為:INSERTINTO表名稱(字段名)VALUE(字段值)8.3.3修改記錄語(yǔ)句Update使用Update語(yǔ)句可更新〔修改〕表中的數(shù)據(jù),該語(yǔ)句的語(yǔ)法格式為:UPDATE表名稱SET字段名=值WHERE條件8.3.4刪除記錄語(yǔ)句Delete使用DELETE語(yǔ)句可以刪除數(shù)據(jù)表中指定行,該語(yǔ)句的語(yǔ)法格式為:DELETEFROM表名稱WHERE條件8.4ADO.NET簡(jiǎn)介8.4.1數(shù)據(jù)庫(kù)通用接口美國(guó)微軟公司提供的數(shù)據(jù)庫(kù)通用接口程序,經(jīng)過(guò)了ODBC→OLEDB→ADO→ADO.NET幾個(gè)開展階段。1.ODBC通用數(shù)據(jù)庫(kù)接口ODBC(OpenDatabaseConnectivity,開放數(shù)據(jù)庫(kù)互聯(lián))2.ADO通用數(shù)據(jù)庫(kù)接口ADO〔ActiveDataObject,動(dòng)態(tài)數(shù)據(jù)對(duì)象〕3.ADO.NET概述在.NET框架的System.Data命名空間及其子空間中有一些類,這些類被統(tǒng)稱為ADO.NET。使用ADO.NET可以方便地從MicrosoftAccess、MicrosoftSQLServer或其他數(shù)據(jù)庫(kù)中檢索、處理數(shù)據(jù),并能更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)表。8.4ADO.NET簡(jiǎn)介8.4.2ADO.NET的數(shù)據(jù)模型ADO.NET采用了層次管理的結(jié)構(gòu)模型,各局部之間的邏輯關(guān)系如圖8-18所示。8.4ADO.NET簡(jiǎn)介8.4.3數(shù)據(jù)源控件簡(jiǎn)介
數(shù)據(jù)源控件的類型主要有以下幾種。
1.AccessDataSourceAccessDataSource數(shù)據(jù)源控件是專門為連接MicrosoftAccess數(shù)據(jù)庫(kù)而設(shè)計(jì)的。
2.SqlDataSourceSqlDataSource數(shù)據(jù)源控件是專門為連接MicrosoftSQLServer數(shù)據(jù)庫(kù)而設(shè)計(jì)的。
3.ObjectDataSource4.XmlDataSource
5.SiteMapDataSource8.5使用數(shù)據(jù)控件訪問數(shù)據(jù)庫(kù)8.5.1使用GridView數(shù)據(jù)控件
GridView控件用于配合數(shù)據(jù)源控件實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)進(jìn)行瀏覽、編輯、刪除等操作。數(shù)據(jù)源控件主要包括用于連接Access數(shù)據(jù)庫(kù)的AccessDataSource和用于連接SQLServer數(shù)據(jù)庫(kù)的SqlDataSource。1.添加數(shù)據(jù)源控件2.添加GridView控件3.設(shè)置GridView控件的屬性8.5使用數(shù)據(jù)控件訪問數(shù)據(jù)庫(kù)8.5.2使用FormView數(shù)據(jù)控件
FormView控件與前面介紹過(guò)的GridView控件相似,也是用于瀏覽或操作數(shù)據(jù)庫(kù)的數(shù)據(jù)控件。它與GridView相比主要的不同在于顯示在FormView中的數(shù)據(jù)記錄是分頁(yè)的,即每頁(yè)只顯示一條記錄。8.5使用數(shù)據(jù)控件訪問數(shù)據(jù)庫(kù)8.5.3使用Repeater控件Repeater控件是一個(gè)數(shù)據(jù)綁定列表控件〔數(shù)據(jù)瀏覽控件〕,它允許通過(guò)為列表中顯示的每一項(xiàng)重復(fù)指定的模板來(lái)自定義數(shù)據(jù)顯示布局。Repeater控件是一個(gè)根本模板數(shù)據(jù)綁定列表,它并沒有內(nèi)置的布局或樣式,因此必須在這個(gè)控件的模板內(nèi)顯式聲明所有的HTML布局標(biāo)記、格式設(shè)置及樣式標(biāo)記等。也正因?yàn)榇?,Repeater控件具有更好的靈活性,但該控件沒有內(nèi)置的選擇和編輯功能。Repeater控件的模板2.使用Repeater控件例8-28.5使用數(shù)據(jù)控件訪問數(shù)據(jù)庫(kù)8.5.4使用DetailsView控件
DetailsView控件顧名思義是用于查看細(xì)節(jié)信息的控件,其作用主要是根據(jù)用戶在父表中項(xiàng)的選擇,在DetailView控件中顯示子表的信息。
1.使用DetailsView控件查看子表信息
例8-32.使用DetailsView控件操作SQLServer數(shù)據(jù)庫(kù)
例8-48.6使用ADO.NET對(duì)象8.6.1ADO.NET對(duì)象概述
在ADO.NET中數(shù)據(jù)集與數(shù)據(jù)提供器是兩個(gè)非常重要,而又相互關(guān)聯(lián)的核心組件。它們二者之間的關(guān)系如圖8-45所示。8.6使用ADO.NET對(duì)象8.6.2數(shù)據(jù)集〔DataSet〕數(shù)據(jù)集相當(dāng)于內(nèi)存中暫時(shí)存放的數(shù)據(jù)庫(kù),它不僅可以包括多張數(shù)據(jù)表,還可以包括數(shù)據(jù)表之間的關(guān)系和約束。允許將不同類型的數(shù)據(jù)表復(fù)制到同一個(gè)數(shù)據(jù)集中,甚至還允許數(shù)據(jù)表與XML文檔組合到一起協(xié)同操作。創(chuàng)立數(shù)據(jù)集對(duì)象的語(yǔ)法格式為: DataSet對(duì)象名=newDataSet(); 或: DataSet對(duì)象名=newDataSet("表名")8.6使用ADO.NET對(duì)象8.6.3數(shù)據(jù)表〔DataTable〕數(shù)據(jù)表是用來(lái)存放數(shù)據(jù)的。一個(gè)數(shù)據(jù)集中可能包括多張數(shù)據(jù)表,每張數(shù)據(jù)表又可包括多個(gè)行和列。數(shù)據(jù)表的創(chuàng)立有兩種方式:1)將數(shù)據(jù)夾在到數(shù)據(jù)集時(shí),系統(tǒng)將自動(dòng)創(chuàng)立一些數(shù)據(jù)表對(duì)象。2)以編程的方式創(chuàng)立DataTable對(duì)象,然后將該對(duì)象添加到數(shù)據(jù)集的Tables集合中。提取數(shù)據(jù)集中數(shù)據(jù)表的語(yǔ)法格式為:DataTable表對(duì)象名=數(shù)據(jù)集名.數(shù)據(jù)表名;8.6使用ADO.NET對(duì)象8.6.4數(shù)據(jù)行〔DataRow〕數(shù)據(jù)行是給定數(shù)據(jù)表中的一條記錄〔表中的一行〕,它可能代表一個(gè)學(xué)生、一位用戶或一件商品的相關(guān)數(shù)據(jù)集合。數(shù)據(jù)行對(duì)象的方法提供了對(duì)表中數(shù)據(jù)的操作〔如,插入、刪除、更新或查看等〕。提取數(shù)據(jù)表中數(shù)據(jù)行的語(yǔ)法格式為:DataRow數(shù)據(jù)行對(duì)象名=數(shù)據(jù)表對(duì)象名.Rows[n];8.6使用ADO.NET對(duì)象8.6.5數(shù)據(jù)列〔DataColumn〕數(shù)據(jù)表中的數(shù)據(jù)列〔也稱為“字段”〕表示了數(shù)據(jù)表的結(jié)構(gòu)。例如,可以用它確定列中的數(shù)據(jù)類型和大小,還可以對(duì)其屬性進(jìn)行設(shè)置。例如,確定列中數(shù)據(jù)是否是只讀的、是否是主鍵、是否允許空值等。還可以讓列在一個(gè)初始值的根底上按自定義步長(zhǎng)值自動(dòng)增加。獲取某列的值需要在數(shù)據(jù)行的根底上進(jìn)行,其語(yǔ)法格式如下:stringdc=dr.Columns["字段名"].ToString();或:stringdc=dr.Column[index].ToString();8.6使用ADO.NET對(duì)象8.6.6數(shù)據(jù)關(guān)系〔DataRelation〕表之間的關(guān)系由相關(guān)的列定義。在關(guān)系型數(shù)據(jù)庫(kù)中,關(guān)系是指兩個(gè)表之間外鍵約束的組合。為了將一張表與另一張表聯(lián)系起來(lái),可以簡(jiǎn)單地創(chuàng)立一個(gè)DataRelation,它將指出表中的哪一列與另一表中的哪一列相關(guān)聯(lián)。8.6使用ADO.NET對(duì)象8.6.7Connection〔連接〕Connection類提供了對(duì)數(shù)據(jù)源連接的封裝。類中包括連接方法及描述當(dāng)前連接狀態(tài)的屬性。在Connection類中最重要的屬性是ConnectionString〔連接字符串〕,該屬性用來(lái)指定效勞名稱、數(shù)據(jù)源信息及其他登錄信息。ConnectionString中有兩個(gè)重要的重要的局部:字符串的內(nèi)容和數(shù)據(jù)提供器名稱。字符串內(nèi)容中包含有“DataSource”〔數(shù)據(jù)源〕、“InitialCatalog”〔默認(rèn)連接數(shù)據(jù)庫(kù)〕及用于描述用戶身份的“UserID”和“Password”。 例8-58.6使用ADO.NET對(duì)象8.6.8Command〔命令〕Command對(duì)象可以在數(shù)據(jù)源中執(zhí)行SQL語(yǔ)句或存儲(chǔ)程序,并從數(shù)據(jù)源返回結(jié)果。Command對(duì)象常用的構(gòu)造函數(shù)包括兩個(gè)重要的參數(shù),一個(gè)是要執(zhí)行的SQL語(yǔ)句,另一個(gè)是已建立的Connection對(duì)象。1.ExecuteNonQuery方法該方法對(duì)Connection對(duì)象建立的連接進(jìn)行不返回任何行的查詢,如Updeae〔更新〕、Delete〔刪除〕和Insert〔插入〕,該方法返回一個(gè)整型〔Integer〕數(shù)據(jù),表示受查詢影響的行數(shù)。2.ExecuteReader方法對(duì)Connection對(duì)象建立的連接執(zhí)行一個(gè)CommandText屬性中定義的命令,返回一個(gè)僅向前的、只讀的數(shù)據(jù)集DataReader對(duì)象,該對(duì)象連接到數(shù)據(jù)庫(kù)的結(jié)果集上,允許行檢索。8.6使用ADO.NET對(duì)象8.6.8Command〔命令〕3.ExecuteScalar方法該方法對(duì)Connection對(duì)象建立的連接執(zhí)行CommandText屬性中定義的命令,但只返回結(jié)果集中的第1行第1列的值。8.6使用ADO.NET對(duì)象8.6.9DataAdapter〔數(shù)據(jù)適配器〕1.DataAdapter對(duì)象常用屬性及方法該對(duì)象包含有SelectCommand〔查詢〕、InsertCommand〔插入〕、UpdateCommand〔更新〕和DelectCommand〔刪除〕四個(gè)屬性,用來(lái)定義處理數(shù)據(jù)存儲(chǔ)中數(shù)據(jù)的命令,并且每個(gè)命令都是對(duì)Command對(duì)象的一個(gè)引用,可以共享同一個(gè)數(shù)據(jù)源。該對(duì)象常用的方法有以下幾個(gè)。1)Fill方法:該方法用來(lái)執(zhí)行SelectCommand,用數(shù)據(jù)源的數(shù)據(jù)填充DataSet對(duì)象。2)FillSchema方法:該方法使用SelectCommand提取數(shù)據(jù)源中表的架構(gòu),并根據(jù)相應(yīng)的約束在DataSet對(duì)象中創(chuàng)立一個(gè)空表。3)Update方法:該方法用來(lái)將DataSet對(duì)象中更改的內(nèi)容更新到初始的數(shù)據(jù)庫(kù)中。8.6使用ADO.NET對(duì)象8.6.9DataAdapter〔數(shù)據(jù)適配器〕2.使用DataAdapter對(duì)象瀏覽數(shù)據(jù)庫(kù)例8-98.6使用ADO.NET對(duì)象8.6.9DataAdapter〔數(shù)據(jù)適配器〕3.使用DataAdapter對(duì)象操作數(shù)據(jù)庫(kù)SQL語(yǔ)句可以通過(guò)以下兩種方式傳遞給DataAdapter對(duì)象:1)通過(guò)DataAdapter對(duì)象的構(gòu)造函數(shù)執(zhí)行SQL語(yǔ)句。例如,以下語(yǔ)句在聲明一個(gè)DataAdapter對(duì)象da的同時(shí),指定da對(duì)象要執(zhí)行strSQL字符串變量表示的SQL語(yǔ)句,要使用Connection對(duì)象conn表示的數(shù)據(jù)庫(kù)連接。OleDbDataAdapterda=newOleDbDataAdapter(strSQL,conn);2)通過(guò)DataAdapter對(duì)象的4個(gè)常用屬性執(zhí)行SQL語(yǔ)句。下面的例題說(shuō)明了使用DataAdapter對(duì)象的4個(gè)常用Command屬性,執(zhí)行SQL語(yǔ)句操作數(shù)據(jù)庫(kù)的方法。例8-108.6使用ADO.NET對(duì)象8.6.10DataReader〔數(shù)據(jù)讀取器〕1.DataReader對(duì)象的常用屬性及方法OleDbDataReader和SqlDataReader對(duì)象常用的屬性和方法有以下幾個(gè)。1)F
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第10課 保持身心健康2024-2025學(xué)年新教材七年級(jí)道德與法治上冊(cè)同步教學(xué)設(shè)計(jì)(統(tǒng)編版2024)
- 2024秋七年級(jí)數(shù)學(xué)上冊(cè) 第2章 有理數(shù)及其運(yùn)算2.11 有理數(shù)的混合運(yùn)算教學(xué)實(shí)錄(新版)北師大版
- 呼叫中心服務(wù)員-中級(jí)工試題及參考答案
- 消防設(shè)施操作員考試想要提分的試題及答案
- 鉗工四級(jí)2023復(fù)習(xí)測(cè)試附答案
- 女工協(xié)管知識(shí)培訓(xùn)課件
- 數(shù)學(xué)二-2018全國(guó)碩士研究生入學(xué)考試《數(shù)學(xué)2》真題
- 二年級(jí)品德與生活上冊(cè) 3.3 做個(gè)快樂鳥1教學(xué)設(shè)計(jì) 新人教版
- 員工全勤獎(jiǎng)制度
- 酒店賓客投訴處理制度
- 2025年全國(guó)國(guó)家版圖知識(shí)競(jìng)賽(中小學(xué)組)題庫(kù)及答案
- 課件-DeepSeek從入門到精通
- 2025年度國(guó)家鐵路局安全技術(shù)中心面向社會(huì)公開招聘工作人員5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 律師事務(wù)所保密制度
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- JJF 1211-2008 激光粒度分析儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 獨(dú)居老人計(jì)劃書
- 農(nóng)業(yè)信息技術(shù)與信息管理系統(tǒng)第六章地理信息系統(tǒng)課件1
- 靜物產(chǎn)品攝影PPT課件(PPT 50頁(yè))
- (高清正版)T_CAGHP 060—2019地質(zhì)災(zāi)害攔石墻工程設(shè)計(jì)規(guī)范(試行)
- 兩立體相交相貫
評(píng)論
0/150
提交評(píng)論