第7章使用NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫1_第1頁
第7章使用NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫1_第2頁
第7章使用NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫1_第3頁
第7章使用NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫1_第4頁
第7章使用NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫1_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第7章

使用.NET數(shù)據(jù)提供程序訪問數(shù)據(jù)庫《ASP.NET數(shù)據(jù)庫網(wǎng)站設(shè)計教程(C#版)》配套教學(xué)資源本章內(nèi)容:.NET數(shù)據(jù)提供程序概述,數(shù)據(jù)庫的連接字符串,連接數(shù)據(jù)庫的Connection對象,執(zhí)行數(shù)據(jù)庫命令的Command對象,讀取數(shù)據(jù)的DataReader對象,數(shù)據(jù)讀取器的DataAdapter對象。本章重點:Connection對象,Command對象,DataReader對象。7.1.1ADO.NET的數(shù)據(jù)模型ASP.NET使用ADO.NET數(shù)據(jù)模型來實現(xiàn)對數(shù)據(jù)庫的連接和各種操作。ADO.NET數(shù)據(jù)模型由ADO發(fā)展而來,其主要特點如下。①ADO.NET不再采用傳統(tǒng)的ActiveX技術(shù),是一種與.NET框架緊密結(jié)合的產(chǎn)物。②ADO.NET包含對XML標(biāo)準(zhǔn)的全面支持,這對于實現(xiàn)跨平臺的數(shù)據(jù)交換具有十分重要的意義。③ADO.NET既能在數(shù)據(jù)源連接的環(huán)境下工作,也能在斷開數(shù)據(jù)源連接的條件下工作。特別是后者,非常適合網(wǎng)絡(luò)環(huán)境多用戶應(yīng)用的需要。因為在網(wǎng)絡(luò)環(huán)境中,若持續(xù)保持與數(shù)據(jù)源的連接,不但效率低下而且占用系統(tǒng)資源也是很大的,常常會因多個用戶同時訪問同一資源而造成沖突。ADO.NET較好地解決了在斷開網(wǎng)絡(luò)連接的情況下正確進行數(shù)據(jù)處理的問題。7.1ADO.NET簡介ADO.NET采用了層次管理的結(jié)構(gòu)模型,各部分之間的邏輯關(guān)系如圖7-1所示。該結(jié)構(gòu)的頂層是應(yīng)用程序(ASP.NET網(wǎng)站或Windows應(yīng)用程序),中間是數(shù)據(jù)層(ADO.NET)和數(shù)據(jù)提供器(Provider),在這個層次中,數(shù)據(jù)提供器起到了關(guān)鍵的作用。7.1.2ADO.NET的兩種訪問數(shù)據(jù)的方式在.NET框架的System.Data命名空間及其子空間中有一些類,這些類被統(tǒng)稱為ADO.NET。使用ADO.NET可以方便地從MicrosoftAccess、MicrosoftSQLServer或其他數(shù)據(jù)庫中檢索、處理數(shù)據(jù),并能更新數(shù)據(jù)庫中的數(shù)據(jù)表。ADO.NET提供了兩種訪問數(shù)據(jù)的方式:連接式數(shù)據(jù)訪問方式和斷開式數(shù)據(jù)訪問方式。ADO.NET相應(yīng)地提供了兩個用于訪問和操作數(shù)據(jù)的主要組件:.NETFramework數(shù)據(jù)提供程序(連接式數(shù)據(jù)訪問方式)和DataSet(斷開式數(shù)據(jù)訪問方式)。1..NETFramework數(shù)據(jù)提供程序(.NETFrameworkDataProvider).NETFramework數(shù)據(jù)提供程序是專門為數(shù)據(jù)操作以及快速、只進、只讀訪問數(shù)據(jù)而設(shè)計的組件,包括Connection、Command、DataReader以及DataAdapter等對象。通過這些對象,可以實現(xiàn)連接數(shù)據(jù)源、數(shù)據(jù)的維護等操作。在連接模式下,客戶機一直保持與數(shù)據(jù)庫服務(wù)器的連接。這種模式適合數(shù)據(jù)傳輸量小、要求響應(yīng)速度快、占用內(nèi)存少的系統(tǒng)。典型的ADO.NET連接模式如圖7-2所示。2.DataSetDataSet是專門為獨立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設(shè)計的,因此,它可以用于多種不同的數(shù)據(jù)源,例如,用于XML數(shù)據(jù),或者用于管理應(yīng)用程序本地的數(shù)據(jù),包括DataSet、DataTable、DataRelation等對象。DataSet包含一個或多個DataTable對象的集合,這些對象由數(shù)據(jù)行和數(shù)據(jù)列以及有關(guān)DataTable對象中數(shù)據(jù)的主鍵、外鍵、約束和關(guān)系信息組成。斷開模式適合網(wǎng)絡(luò)數(shù)據(jù)量大、系統(tǒng)節(jié)點多、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,尤其是通過Internet/Intranet進行連接的網(wǎng)絡(luò)。典型的ADO.NET斷開模式應(yīng)用如圖7-3所示。7.1.3ADO.NET中的常用對象數(shù)據(jù)源控件及各類數(shù)據(jù)顯示控件,幾乎無須編寫任何代碼就可以方便地完成對數(shù)據(jù)庫的一般操作。但是,若希望修改各類控件的外觀設(shè)計或執(zhí)行特殊的數(shù)據(jù)庫操作,就顯得有些困難了。在ASP.NET中,除了可以使用控件完成數(shù)據(jù)庫信息的瀏覽和操作外,還可以使用ADO.NET提供的各種對象,通過編寫代碼自由地實現(xiàn)更復(fù)雜、更靈活的數(shù)據(jù)庫操作功能。ADO.NET對象主要指包含在數(shù)據(jù)集(DataSet)和數(shù)據(jù)提供器(Provider)中的對象。使用這些對象可通過代碼自由地創(chuàng)建符合用戶需求的數(shù)據(jù)庫Web應(yīng)用程序。在ADO.NET中,數(shù)據(jù)集與數(shù)據(jù)提供器是兩個非常重要而又相互關(guān)聯(lián)的核心組件。它們二者之間的關(guān)系如圖7-4所示。7.1.4.NET數(shù)據(jù)提供程序概述1..NET數(shù)據(jù)提供程序簡介.NETFramework中的數(shù)據(jù)提供程序(DataProvider)組件用于同數(shù)據(jù)源打交道,其功能是連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié)果。它在數(shù)據(jù)源和代碼之間創(chuàng)建最小的分層,并在不降低功能性的情況下提高性能。表7-1列出了.NETFramework中所包含的數(shù)據(jù)提供程序。.NETFramework數(shù)據(jù)提供程序提供了4個核心對象,這些對象及其功能見表7-2。由于數(shù)據(jù)源不同,因此上述4個對象分別針對不同的數(shù)據(jù)源做了不同的實現(xiàn)。例如,對于SQLServer數(shù)據(jù)庫,它們的具體實現(xiàn)是SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter;對于Access數(shù)據(jù)庫,它們的實現(xiàn)是OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter。除核心對象外,.NETFramework數(shù)據(jù)提供程序提供的對象還有非核心對象,表7-3中列出了部分對象。2.使用.NET對象訪問數(shù)據(jù)庫的步驟使用.NETFramework數(shù)據(jù)提供程序的連接模式的對象,訪問數(shù)據(jù)庫的步驟如下:①使用Connection對象建立與數(shù)據(jù)庫的連接。②使用Command對象執(zhí)行SQL命令,向數(shù)據(jù)庫索取數(shù)據(jù)。③使用DataReader對象讀取Command對象取得的數(shù)據(jù)。④使用DataReader對象,利用Web控件以及相應(yīng)的數(shù)據(jù)綁定,顯示數(shù)據(jù)。⑤完成讀取操作后,關(guān)閉DataReader對象。⑥關(guān)閉Connection對象。7.2.1數(shù)據(jù)庫連接字符串的常用參數(shù)表7-4列出了數(shù)據(jù)庫連接字符串的常用參數(shù)及說明。7.2數(shù)據(jù)庫的連接字符串7.2.2連接到SQLServer的連接字符串SQLServer的.NETFramework數(shù)據(jù)提供程序,通過SqlConnection對象的ConnectionString屬性,設(shè)置或獲取連接字符串,可以連接MicrosoftSQLServer7.0或更高版本。有兩種連接數(shù)據(jù)庫的方式:信任連接和標(biāo)準(zhǔn)安全連接。1.信任連接(TrustedConnection)SQLServer的集成安全性(也稱為信任連接)有助于在連接到SQLServer時提供保護,使用Windows集成的安全性驗證在訪問數(shù)據(jù)庫時安全性更高,因為它不會在連接字符串中公開用戶ID和密碼,是對連接進行身份驗證的建議方法。采用“Windows身份驗證模式”的SQLServer2005/2008,其連接字符串的一般形式如下:"DataSource=服務(wù)器名或地址;InitialCatalog=數(shù)據(jù)庫名;IntegratedSecurity=true"如果要連接到本地的SQLServer命名實例,則DataSource使用“服務(wù)器名\實例名”語法(有的SQLServer服務(wù)器沒有實例名,則使用“服務(wù)器名”語法)。例如,本機的SQLServer命名實例名稱為“PC\SQL2008”(這個名稱就是啟動SQLServerManagementStudio時,顯示在“連接到服務(wù)器”對話框中“服務(wù)器名稱”框中的內(nèi)容),使用信任連接,連接到UserManagement數(shù)據(jù)庫的連接字符串為:"DataSource=PC\SQL2008;InitialCatalog=UserManagement;IntegratedSecurity=true"如果連接本地的SQLServer數(shù)據(jù)庫且定義了實例名,則DataSource參數(shù)也可以寫為“.\實例名”或“l(fā)ocalhost\實例名”;如果是遠(yuǎn)程服務(wù)器,則將“.”或“l(fā)ocalhost”替換為遠(yuǎn)程服務(wù)器的名稱或IP地址。這樣,上面的連接字符串可以改為:"DataSource=.\SQL2008;InitialCatalog=UserManagement;IntegratedSecurity=true"因為把SQLServer數(shù)據(jù)庫附加到數(shù)據(jù)庫服務(wù)器后就可以用信任連接,不需要對附加后的數(shù)據(jù)庫添加密碼,所以信任連接是本教材采用的連接數(shù)據(jù)的主要方式。2.標(biāo)準(zhǔn)安全連接(StandardSecurityConnection),也稱非信任連接標(biāo)準(zhǔn)安全連接把登錄賬戶(UserID或Uid)和密碼(Password或Pwd)寫在連接字符串中。標(biāo)準(zhǔn)安全連接方式的連接字符串的一般形式如下:"DataSource=服務(wù)器名或地址;InitialCatalog=數(shù)據(jù)庫名;UserID=用戶名;Password=密碼"若數(shù)據(jù)庫名為UserManagement,用戶名為sa,用戶密碼為123,則連接字符串如下:"DataSource=PC\SQL2008;InitialCatalog=UserManagement;UserID=sa;Password=123"如果要使用標(biāo)準(zhǔn)安全連接,把SQLServer數(shù)據(jù)庫附加到數(shù)據(jù)庫服務(wù)器后,還要更改sa的密碼。有關(guān)更改sa的密碼或更改身份驗證模式的方法,請參考相關(guān)資料。7.2.3連接字符串的存放位置1.把連接字符串寫在程序中一般的初級教程多采用這種方法。這樣寫當(dāng)然沒有錯誤,但是要在許多頁面中寫入連接字符串,如果需要改動連接字符串(如更換用戶名和密碼),就得逐個修改。在應(yīng)用程序代碼中嵌入連接字符串可能導(dǎo)致安全漏洞和維護問題。此外,如果連接字符串發(fā)生更改,則必須重新編譯應(yīng)用程序。最佳做法是將連接字符串放在web.config文件中。2.把連接字符串放在web.config文件中(1)web.config文件中連接字符串的常用屬性web.config中的關(guān)鍵字遵循CamelCase命名約定。在.NETFramework2.0及以上版本中,ConfigurationManager類新增了ConnectionStrings屬性,專門用來獲取web.config配置文件中<configuration>元素的<connectionStrings>中的數(shù)據(jù)。<connectionStrings>中有3個重要的部分:字符串名、字符串的內(nèi)容和數(shù)據(jù)提供器名稱。下面的web.config配置文件片段說明了用于存儲連接字符串的架構(gòu)和語法。在<configuration>元素中,創(chuàng)建一個名為<connectionStrings>的子元素并將連接字符串置于其中:<connectionStrings><addname="連接字符串名"connectionString="數(shù)據(jù)庫的連接字符串"providerName="System.Data.SqlClient/></connectionStrings>子元素add用來添加屬性。add有3個屬性:name、connectionString和providerN屬性是唯一標(biāo)識連接字符串的名稱,以便在程序中檢索到該字符串。connectionString屬性是描述數(shù)據(jù)庫的連接字符串。providerName屬性是描述.NETFramework數(shù)據(jù)提供程序的固定名稱,其名稱為System.Data.SqlClient(默認(rèn)值)、System.Data.OldDb或System.Data.Odbc。在應(yīng)用程序中,任何頁面上的任何程序代碼或數(shù)據(jù)源控件都可以引用此連接字符串項。將連接字符串信息存儲在web.config文件中的優(yōu)點是,程序員可以方便地更改服務(wù)器名稱、數(shù)據(jù)庫或身份驗證信息,而無須編輯各個網(wǎng)頁。Connection對象的連接字符串保存在ConnectionString屬性中,在程序中可以使用ConnectionString屬性來獲取或設(shè)置數(shù)據(jù)庫的連接字符串。在程序中獲得<connectionStrings>連接字符串的方法為:System.Configuration.ConfigurationManager.ConnectionStrings["連接字符串名"].ConnectionString;如果在程序中引入ConfigurationManager類的命名空間“usingSystem.Configuration;”,則在程序中獲得<connectionStrings>連接字符串的方法可簡寫為:ConfigurationManager.ConnectionStrings["連接字符串名"].ConnectionString;其中,ConnectionString也可寫為ToString()。(2)打開和修改web.config文件【演練7-1】

SQLServer服務(wù)器為PC\SQL2008,數(shù)據(jù)庫名為UserManagement,要求采用信任連接。在web.config文件中創(chuàng)建連接字符串的步驟如下。①在VisualStudio中新建一個空網(wǎng)站,如“C:\ex7_1”。②在解決方案資源管理器中,雙擊web.config文件名。③打開web.config文件,把插入點設(shè)置到<configuration>元素中,如圖7-5所示。④輸入子元素“<connectionStrings>”,這時將自動填充“</connectionStrings>”。把插入點設(shè)置到“<connectionStrings>”與“</connectionStrings>”之間,按Enter鍵插入空行。在空行處輸入下面代碼(如圖7-6所示):<addname="ConnStr"connectionString="DataSource=PC\SQL2008;InitialCatalog=UserManagement;Integrated

Security=true"providerName="System.Data.SqlClient"/>注意,要把“服務(wù)器名”更換為用戶在自己計算機中安裝的SQLServer的實例名稱。當(dāng)SQLServer的“賬戶設(shè)置”為“混合模式”時,數(shù)據(jù)庫連接字符串可使用“標(biāo)準(zhǔn)安全連接”或“信任連接”;為“Windows身份驗證模式”時,只能使用“信任連接”。所以,讀者在練習(xí)時要根據(jù)需要和SQLServer的“賬戶設(shè)置”來選擇數(shù)據(jù)庫連接字符串。7.2.4用數(shù)據(jù)源控件生成連接字符串【演練7-2】

用SqlDataSource控件連接到SQLServer數(shù)據(jù)庫UserManagement,以實現(xiàn)在web.config中自動生成連接字符串。①在VisualStudio中新建一個空網(wǎng)站(如C:\ex7_2),添加一個Web窗體,并切換到設(shè)計視圖。②從工具箱的“數(shù)據(jù)”選項卡中,將SqlDataSource控件拖動到Web窗體上。單擊SqlDataSource控件右上角的智能標(biāo)記圖標(biāo)

,在“SqlDataSource任務(wù)”菜單中單擊“配置數(shù)據(jù)源”項,如圖7-7所示。如果“SqlDataSource任務(wù)”菜單未顯示,也可以右擊SqlDataSource控件,從快捷菜單中執(zhí)行“配置數(shù)據(jù)源”命令。③顯示“配置數(shù)據(jù)源”向?qū)У摹斑x擇您的數(shù)據(jù)連接”頁面,如圖7-8所示。單擊“連接字符串”前的

按鈕,展開連接字符串,單擊“新建連接”按鈕。④顯示“添加連接”對話框,如圖7-9所示。如果使用SQLServer數(shù)據(jù)庫,則“數(shù)據(jù)源”框中顯示“MicrosoftSQLServer(SqlClient)”,因此不用單擊“更改”按鈕。單擊“測試連接”按鈕驗證該連接是否有效。如果連接成功,則顯示“測試連接成功”提示框,如圖7-10所示。單擊“確定”按鈕關(guān)閉提示框。單擊“添加連接”對話框中的“確定”按鈕,關(guān)閉“添加連接”對話框。⑤回到“選擇您的數(shù)據(jù)連接”頁面,如圖7-11所示,可以看到“連接字符串”框中已經(jīng)生成連接字符串。單擊“下一步”按鈕。⑥顯示“配置數(shù)據(jù)源”向?qū)У南乱粋€頁面,如圖7-12所示。選中“是,將此連接另存為”復(fù)選框,在其下的文本框中輸入在應(yīng)用程序配置文件中保存該連接時使用的名稱(也可不改),將連接字符串保存到程序配置文件web.config中。單擊“下一步”按鈕。⑦

顯示“配置Select語句”頁面,如圖7-13所示。這里使用默認(rèn)設(shè)置,直接單擊“下一步”按鈕。⑧

顯示“測試查詢”頁面,如圖7-14所示,直接單擊“完成”按鈕。⑨

這樣就準(zhǔn)確無誤地生成了連接字符串,而不用手工輸入連接字符串。在解決方案資源管理器中,雙擊web.config文件名,可以看到生成的連接字符串,如圖7-15所示。⑩

最后把Web窗體上的SqlDataSource控件刪掉。

7.3.1Connection對象概述Connection對象的功能是創(chuàng)建與指定數(shù)據(jù)源的連接,并完成初始化工作。它的一些屬性描述數(shù)據(jù)源和用戶身份驗證。Connection對象還提供一些方法允許程序員與數(shù)據(jù)源建立連接或者斷開連接。使用的Connection對象取決于數(shù)據(jù)源的類型,隨.NETFramework提供的每個.NETFramework數(shù)據(jù)提供程序都具有一個DbConnection對象。微軟提供了4種數(shù)據(jù)庫連接對象:要連接到MicrosoftSQLServer7.0或更高版本,使用SqlConnection對象。要連接到OLEDB數(shù)據(jù)源,或者連接到MicrosoftSQLServer6.x或更低版本,或者連接到Access,使用OleDbConnection對象。要連接到ODBC數(shù)據(jù)源,使用OdbcConnection對象。要連接到Oracle數(shù)據(jù)源,使用OracleConnection對象。7.3連接數(shù)據(jù)庫的Connection對象7.3.2創(chuàng)建Connection對象可以使用Connection對象的構(gòu)造函數(shù)創(chuàng)建連接到SQLServer的Connection對象,并通過構(gòu)造函數(shù)的參數(shù)來設(shè)置Connection對象的特定屬性值,其語法格式如下:SqlConnection連接對象名=newSqlConnection(連接字符串);也可以首先使用構(gòu)造函數(shù)創(chuàng)建一個不含參數(shù)的Connection對象實例,然后再通過連接對象的ConnectionString屬性,設(shè)置連接字符串,其語法格式如下:SqlConnection連接對象名=newSqlConnection();連接對象名.ConnectionString=連接字符串;創(chuàng)建其他類型的Connection對象時,僅需將上述語法格式中“SqlConnection”替換成相應(yīng)的類型即可。例如,創(chuàng)建一個用于連接Access數(shù)據(jù)庫的Connection對象,語法格式如下:OleDbConnection連接對象名=newOleDbConnection();連接對象名.ConnectionString=連接字符串;7.3.3Connection對象的屬性和方法1.Connection對象的屬性Connection對象用來與數(shù)據(jù)源建立連接,它有一個重要屬性ConnectionString,用于設(shè)置打開數(shù)據(jù)庫的字符串。Connection對象的常用屬性見表7-5。2.Connection對象的方法Connection對象的方法見表7-6。(1)Open()方法使用Open()方法打開一個數(shù)據(jù)庫連接。為了減輕系統(tǒng)負(fù)擔(dān),應(yīng)該盡可能晚地打開數(shù)據(jù)庫。語法格式如下:連接對象名.Open()其中,“連接對象名”是創(chuàng)建的Connection對象的名稱。(2)Close()方法使用Close()方法關(guān)閉一個打開的數(shù)據(jù)庫連接。為了減輕系統(tǒng)負(fù)擔(dān),應(yīng)該盡可能早地關(guān)閉數(shù)據(jù)庫。語法格式如下:連接對象名.Close()注意:如果連接超出范圍,并不會自動關(guān)閉,而是會浪費一定的系統(tǒng)資源。因此,必須在連接對象超出范圍之前,通過調(diào)用Close()或Dispose()方法,顯式地關(guān)閉連接。(3)CreateCommand()方法使用CreateCommand()方法創(chuàng)建并返回一個與該連接關(guān)聯(lián)的Command對象。語法格式如下:連接對象名.CreateCommand()返回值:返回一個Command對象。例如,創(chuàng)建一個連接到SQLServer,Connection對象名為conn的Command對象cmd,代碼如下:SqlCommandcmd=conn.CreateCommand();7.3.4連接到數(shù)據(jù)庫的基本步驟在ADO.NET中連接到數(shù)據(jù)庫的基本步驟如下。①根據(jù)連接的數(shù)據(jù)源,添加相應(yīng)的命名空間。例如,若要連接SQLServer2005/2008/2012數(shù)據(jù)庫,則添加命名空間如下:usingSystem.Data.SqlClient;//數(shù)據(jù)提供程序訪問SQLServer數(shù)據(jù)庫需要此命名空間usingSystem.Configuration;//獲取連接字符串需要此命名空間②設(shè)置(例如在web.config中)和獲取連接字符串(在程序中)。③創(chuàng)建Connection對象,并設(shè)置Connection對象的ConnectionString(連接字符串)屬性。④使用Open()方法打開連接。⑤

創(chuàng)建Command對象,執(zhí)行Command對象的方法。⑥

使用Close()方法關(guān)閉連接?!狙菥?-3】

創(chuàng)建并打開與SQLServer數(shù)據(jù)庫UserManagement的連接。在Label控件中顯示連接字符串和打開、關(guān)閉當(dāng)前數(shù)據(jù)庫的連接狀態(tài),頁面顯示如圖7-16所示。①新建一個空網(wǎng)站(如網(wǎng)站名“C:\ex7_3”),添加一個Web窗體,窗體名為Default.aspx,切換到設(shè)計視圖,在Default.aspx中添加一個Label控件。②按照演練7-1在web.config文件中添加連接字符串,代碼如下:<connectionStrings><addname="ConnStr"connectionString="DataSource=PC\SQL2008;InitialCatalog=UserManagement;IntegratedSecurity=true"providerName="Sy

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論