第7講信息系統(tǒng)開發(fā)_第1頁
第7講信息系統(tǒng)開發(fā)_第2頁
第7講信息系統(tǒng)開發(fā)_第3頁
第7講信息系統(tǒng)開發(fā)_第4頁
第7講信息系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第7 7講:講:信息系統(tǒng)開發(fā)信息系統(tǒng)開發(fā)一、一、基于基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問二、二、基于綁定的數(shù)據(jù)更新基于綁定的數(shù)據(jù)更新一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問1、DataSet介紹介紹DataSet對象主要支持?jǐn)嚅_連接的、分布式數(shù)據(jù)的處理,類似于一個駐留在內(nèi)存中的關(guān)系數(shù)據(jù)庫,表示一個完整的數(shù)據(jù)集。數(shù)據(jù)集可以包含一個或多個表,這些表可以來源于一個數(shù)據(jù)庫,也可以來源于多個數(shù)據(jù)庫。除了包含表,數(shù)據(jù)集還可以包含說明表之間關(guān)系的對象的數(shù)據(jù)結(jié)構(gòu),即相關(guān)約束和表與表之間的聯(lián)系。DataSet中的方法和對象與關(guān)系數(shù)據(jù)庫模型中的對象和方法是一致的。Data

2、Set 包含一個或多個DataTable對象的集合,這些對象由數(shù)據(jù)行和數(shù)據(jù)列以及主鍵、外鍵、約束和有關(guān)DataTable對象中數(shù)據(jù)的關(guān)系信息組成。每個DataTable對象中包含DataRow和DataColumn集合。DataRow中包含一個元組的所有信息,保留著原始數(shù)據(jù)和任何改變的數(shù)據(jù);DataColumn表示屬性列的信息。一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問2、數(shù)據(jù)庫訪問的一般過程、數(shù)據(jù)庫訪問的一般過程1)創(chuàng)建SqlConnection對象,建立數(shù)據(jù)庫連接。2)創(chuàng)建數(shù)據(jù)適配器SqlDataAdapter,建立數(shù)據(jù)庫和數(shù)據(jù)集之間的“橋”。3)建立數(shù)據(jù)集DateS

3、et。通過數(shù)據(jù)庫與DataSet之間的橋SqlDataAdapter,編寫程序代碼用于填充數(shù)據(jù)集和更新數(shù)據(jù)集。即將數(shù)據(jù)庫中的數(shù)據(jù)填充到內(nèi)存數(shù)據(jù)集DataSet中;也可以通過SqlDataAdapter將更新過的DataSet中的數(shù)據(jù)回填到數(shù)據(jù)庫中。4)在VB.NET程序窗體上添加控件并設(shè)置其屬性,使其和DataSet對象中的表和屬性列相關(guān)聯(lián)。應(yīng)用程序針對DataSet進(jìn)行數(shù)據(jù)檢索和數(shù)據(jù)更新操作。一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問【例【例1】在VB.NET項目中,創(chuàng)建一個和School數(shù)據(jù)庫的數(shù)據(jù)連接,然后創(chuàng)建數(shù)據(jù)集對象獲取T_Grade表中的所有數(shù)據(jù),并在運行程序

4、時通過窗體控件DataGrid顯示出來。(通過數(shù)據(jù)適配器配置向?qū)?chuàng)建數(shù)據(jù)集,然后由窗體控件獲取數(shù)據(jù)庫數(shù)據(jù)的實例 ,運行結(jié)果窗體下圖所示。)圖7-16學(xué)生選課信息 一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問1)建立一個新的)建立一個新的VB.NET項目文件,在項目設(shè)計器上,項目文件,在項目設(shè)計器上,展開展開 【工具箱】中的【數(shù)據(jù)】選項卡,將【工具箱】中的【數(shù)據(jù)】選項卡,將SqlDataAdapter拖至窗體上,進(jìn)入如圖拖至窗體上,進(jìn)入如圖7-6所示的界面所示的界面。 圖7-5 工具箱中的SqlDataAdapter圖7-6 數(shù)據(jù)適配器配置向?qū)б?、基于一、基于SqlDataA

5、dapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問圖7-7 數(shù)據(jù)鏈接屬性對話框一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問2)單擊【下一步】,然后在出現(xiàn)的對話框中,單擊【新建連接】將出現(xiàn))單擊【下一步】,然后在出現(xiàn)的對話框中,單擊【新建連接】將出現(xiàn)圖圖7-7對話框。按照圖示要求,填入要連接的服務(wù)器名(本機為對話框。按照圖示要求,填入要連接的服務(wù)器名(本機為Local)和數(shù)據(jù)庫名和數(shù)據(jù)庫名School,并按【測試連接】。如果連接成功,將出現(xiàn)圖,并按【測試連接】。如果連接成功,將出現(xiàn)圖7-8所所示的對話框。示的對話框。圖7-8 數(shù)據(jù)庫連接成功3)單擊圖)單擊圖7-7窗口中的【確定】就進(jìn)入圖窗口中

6、的【確定】就進(jìn)入圖7-9所示的對話框,直接按【所示的對話框,直接按【下一步】,在圖下一步】,在圖7-10中選擇中選擇“使用使用SQL語句語句”,單擊【下一步】,單擊【下一步】,出現(xiàn)圖出現(xiàn)圖7-11所示的對話框,在文本框內(nèi)寫入下列所示的對話框,在文本框內(nèi)寫入下列SQL語句:語句:SELECT * FROM T_Grade一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問圖7-9 建立數(shù)據(jù)庫連接成功圖7-10選擇查詢類型對話框一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問圖7-11 生成SQL語句對話框一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問

7、4)單擊【下一步】出現(xiàn)圖)單擊【下一步】出現(xiàn)圖7-12所示的對話所示的對話框,說明數(shù)據(jù)適配器配置成功。框,說明數(shù)據(jù)適配器配置成功。圖7-12數(shù)據(jù)適配器配置成功一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問5)在數(shù)據(jù)適配器配置成功后,生成了數(shù)據(jù)庫連接對象)在數(shù)據(jù)適配器配置成功后,生成了數(shù)據(jù)庫連接對象SqlConnection1和數(shù)據(jù)適配器和數(shù)據(jù)適配器SqlDataAdapter1對象,操作界面回到對象,操作界面回到VB.NET項目窗項目窗體,見圖體,見圖7-13。將鼠標(biāo)移進(jìn)窗體,單擊右鍵,出現(xiàn)彈出式菜單,選。將鼠標(biāo)移進(jìn)窗體,單擊右鍵,出現(xiàn)彈出式菜單,選擇【生成數(shù)據(jù)集】,進(jìn)入圖擇

8、【生成數(shù)據(jù)集】,進(jìn)入圖7-14所示的對話框,數(shù)據(jù)集自動命名為所示的對話框,數(shù)據(jù)集自動命名為DataSet1,單擊【確定】,完成數(shù)據(jù)集,單擊【確定】,完成數(shù)據(jù)集DataSet1的創(chuàng)建。進(jìn)入圖的創(chuàng)建。進(jìn)入圖7-15窗口,在解決方法資源管理器中出現(xiàn)窗口,在解決方法資源管理器中出現(xiàn)DataSet1.xsd文件,在窗體文件,在窗體下部組件欄中顯示數(shù)據(jù)集對象實例下部組件欄中顯示數(shù)據(jù)集對象實例DataSet11。圖7-13生成數(shù)據(jù)庫連接對象和數(shù)據(jù)適配器對象的窗體圖7-14生成數(shù)據(jù)集一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問6)創(chuàng)建好數(shù)據(jù)集后,就可以)創(chuàng)建好數(shù)據(jù)集后,就可以進(jìn)行前臺的數(shù)據(jù)

9、訪問操作進(jìn)行前臺的數(shù)據(jù)訪問操作。在窗體上,放置控件。在窗體上,放置控件DataGrid1,選中,選中DataGrid1,在其屬性對話,在其屬性對話框中設(shè)置數(shù)據(jù)源框中設(shè)置數(shù)據(jù)源DataSource為:為:DataSet11.T_grade。并設(shè)。并設(shè)置窗體標(biāo)題和說明標(biāo)簽置窗體標(biāo)題和說明標(biāo)簽“學(xué)生選課成績學(xué)生選課成績”,出現(xiàn)圖,出現(xiàn)圖7-15所示的界面。所示的界面。圖7-15控件數(shù)據(jù)源的設(shè)定7)填充數(shù)據(jù)集。數(shù)據(jù)集中的表數(shù)據(jù)要通過數(shù)據(jù)適配器的填充(Fill)方法獲得。將該方法的調(diào)用放到Form1_Load事件過程中,這樣啟動程序后,即自動提取相關(guān)數(shù)據(jù)。代碼為:Private Sub Form1_Lo

10、ad() Handles MyBase.Load SqlDataAdapter1.Fill(DataSet11, T_Grade)End Sub8)運行項目文件。)運行項目文件。一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問【例例2】通過程序?qū)崿F(xiàn)例1的功能:在窗體上用DataGrid控件瀏覽學(xué)生選課成績。數(shù)據(jù)庫訪問程序中使用的對象主要有:SqlConnection、SqlDataAdapter和DataSet等對象。 SqlConnection、SqlDataAdapter 對象包含在SQL Server數(shù)據(jù)提供程序中,其命名空間為System.Data.SqlClient。

11、DataSet對象的命名空間為System.Data。要使用這些對象,需要在程序中通過Imports語句指定其命名空間。 Imports System.Data.SqlClient一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問通過程序?qū)崿F(xiàn)例通過程序?qū)崿F(xiàn)例7-1的功能:的功能: 在進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計時,首先申明在進(jìn)行數(shù)據(jù)庫應(yīng)用程序設(shè)計時,首先申明Sql Server數(shù)據(jù)提供數(shù)據(jù)提供程序的命名空間,這樣在數(shù)據(jù)庫訪問對象定義時,才能直接使程序的命名空間,這樣在數(shù)據(jù)庫訪問對象定義時,才能直接使用各類數(shù)據(jù)對象。用各類數(shù)據(jù)對象。 Sql Server數(shù)據(jù)提供程序的命名空間為:數(shù)據(jù)提供

12、程序的命名空間為: Imports System.Data.SqlClient一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問Imports System.Data.SqlClientPrivate Sub Form1_Load() Handles MyBase.Load用代碼定義SqlConnection, SqlDataAdapter, DataSet對象 Dim sql As String = Select * from T_GradeDim myconn As New SqlConnection(Initial Catalog=school; _ & Data

13、Source=.;Integrated Security=SSPI;)Dim myadapter As SqlDataAdapter = New SqlDataAdapter(sql, myconn)Dim mydataset As New Data.DataSet()myadapter.Fill(mydataset, T_Grade)DataGrid1.DataSource = mydataset.Tables(T_Grade)End Sub 注:數(shù)據(jù)集中的表“T_Grade”不同于數(shù)據(jù)庫中的“T_Grade”,因此它也可以另外命名。 一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的

14、數(shù)據(jù)訪問【例3】查詢給定學(xué)號的學(xué)生修課成】查詢給定學(xué)號的學(xué)生修課成績。程序運行界面如圖。績。程序運行界面如圖。一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問注意查詢字符串的條件表達(dá)。學(xué)生學(xué)號在文本框TextBox1.Text中,在寫該條件時一定要從查詢串中分離出來,只有這樣才能將學(xué)號這個條件從文本框提取出來,從而構(gòu)造出按學(xué)號查詢的SQL語句。 Private Sub Button1_Click() Handles search.Click定義數(shù)據(jù)庫連接對象Dim myconn As New SqlConnection(Initial Catalog=school; DataS

15、ource=.; Integrated Security=SSPI; ) 定義滿足要求的查詢命令,即查詢指定學(xué)號的學(xué)生選課記錄Dim sql As String = select * from T_grade where studentcode= & TextBox1.Text.& 定義數(shù)據(jù)適配器對象Dim myadapter As SqlDataAdapter = New SqlDataAdapter(sql, myconn) 定義數(shù)據(jù)集對象Dim mydataset As New Data.DataSet 將滿足條件的查詢結(jié)果填充到數(shù)據(jù)集中的表T_Grademyadapte

16、r.Fill(mydataset, T_Grade) 為控件指定顯示的數(shù)據(jù)源DataGrid1.DataSource = mydataset.Tables(T_Grade)End Sub一、基于一、基于SqlDataAdapter的數(shù)據(jù)訪問的數(shù)據(jù)訪問【例4】用】用ComboBox控件顯示學(xué)號,在控件顯示學(xué)號,在ComboBox中選擇學(xué)號,在中選擇學(xué)號,在DataGrid1中顯示該學(xué)生的成績中顯示該學(xué)生的成績Private Sub ComboBox1_SelectedIndexChanged() Handles ComboBox1.SelectedIndexChanged 創(chuàng)建SqlConnec

17、tion對象myconn Dim myconn As New SqlConnection(Initial Catalog=school;Data Source=.; Integrated Security=SSPI;) 定義sql語句Dim sql As String = select * from T_Grade where studentcode= &ComboBox1.Text & “ Dim sql As String = select StudentCode as 學(xué)號,CourseCode as 課程號,grade as 成績 & _ from T_Grad

18、e where studentcode = & ComboBox1.Text.Trim & 創(chuàng)建SqlDataAdapter對象myadapterDim myadapter As SqlDataAdapter = New SqlDataAdapter(sql, myconn) 創(chuàng)建DataSet對象mydatasetDim mydataset As New Data.DataSet myadapter.Fill(mydataset, T_Grade) DataGrid1.DataSource = mydataset.Tables(T_Grade)End Sub二、基于綁定的數(shù)據(jù)

19、更新二、基于綁定的數(shù)據(jù)更新.Net FrameWork SDK類庫中有個基類System.Windows.Forms.BindingManagerBase,它管理綁定到相同數(shù)據(jù)源和數(shù)據(jù)成員的所有Binding對象,允許對Windows窗體上綁定到相同數(shù)據(jù)源的數(shù)據(jù)綁定控件進(jìn)行同步。v數(shù)據(jù)綁定技術(shù)的核心: 借助綁定對象的數(shù)據(jù)指針瀏覽綁定數(shù)據(jù)源的信息。即通過定義綁定對象和設(shè)置其綁定的數(shù)據(jù)源,并且建立窗體控件和綁定數(shù)據(jù)源的屬性對應(yīng)關(guān)系,最后依據(jù)綁定對象的指針(Position),使界面上所有綁定控件訪問數(shù)據(jù)源數(shù)據(jù)時可以保持步調(diào)一致。二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新7.2.1 綁定對象的定義

20、數(shù)據(jù)綁定的常規(guī)方法:數(shù)據(jù)綁定的常規(guī)方法: 定義要訪問的數(shù)據(jù)源(定義要訪問的數(shù)據(jù)源(DataSet實例)實例) 指定綁定對象的數(shù)據(jù)源:在應(yīng)用程序開始處定指定綁定對象的數(shù)據(jù)源:在應(yīng)用程序開始處定義一個綁定對象,并在數(shù)據(jù)集填充時指定綁定義一個綁定對象,并在數(shù)據(jù)集填充時指定綁定對象的數(shù)據(jù)源對象的數(shù)據(jù)源 設(shè)計界面:根據(jù)應(yīng)用需求,設(shè)計界面,將用于設(shè)計界面:根據(jù)應(yīng)用需求,設(shè)計界面,將用于顯示數(shù)據(jù)的控件分別綁定到需要的數(shù)據(jù)源。顯示數(shù)據(jù)的控件分別綁定到需要的數(shù)據(jù)源。 完成數(shù)據(jù)導(dǎo)航:編程通過對綁定對象操作實現(xiàn)完成數(shù)據(jù)導(dǎo)航:編程通過對綁定對象操作實現(xiàn)所有窗體界面上數(shù)據(jù)控件的顯示,從而完成數(shù)所有窗體界面上數(shù)據(jù)控件的顯

21、示,從而完成數(shù)據(jù)導(dǎo)航。據(jù)導(dǎo)航。二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新Imports System.Data.SqlClientImports System.Data.SqlClientPublic Class Form1 Public Class Form1 窗體定義開始處窗體定義開始處 Inherits System.Windows.Forms.FormInherits System.Windows.Forms.Form Public mybind As BindingManagerBasePublic mybind As BindingManagerBase Private Sub

22、Form1_Load( Private Sub Form1_Load() Handles MyBase.Load) Handles MyBase.Load 填充數(shù)據(jù)集填充數(shù)據(jù)集 SqlDataAdapter1.Fill(DataSet11. T_Major)SqlDataAdapter1.Fill(DataSet11. T_Major) 指定綁定數(shù)據(jù)源指定綁定數(shù)據(jù)源 mybind = BindingContext(DataSet11, T_Major )mybind = BindingContext(DataSet11, T_Major ) End Sub End Sub End Class

23、End Class 在窗體類定義的開始處,申明綁定對象,這樣可以讓后面所有的Sub都可以訪問它。為綁定對象指明數(shù)據(jù)源DataSet中的某張表,一般是在填充數(shù)據(jù)集以后指定。二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新7.2.2 7.2.2 基于綁定對象的數(shù)據(jù)查詢基于綁定對象的數(shù)據(jù)查詢【例例5】基于數(shù)據(jù)綁定通過文本框?qū)崿F(xiàn)學(xué)校開設(shè)的專業(yè)記錄的瀏覽,見圖。實現(xiàn)過程:1)窗體設(shè)計 2)設(shè)置綁定數(shù)據(jù)源:將服務(wù)器資源管理器中所需的數(shù)據(jù)表拖至窗體,生成數(shù)據(jù)集,再設(shè)置每個文本框的DataBinding中的Text屬性為數(shù)據(jù)集中T_Major表的相應(yīng)屬性。3)通過代碼實現(xiàn)綁定對象的數(shù)據(jù)源設(shè)置。 mybind =

24、Me.BindingContext(Me.DataSet11, T_Major)4)實現(xiàn)數(shù)據(jù)瀏覽:用綁定對象的屬性Position來設(shè)置數(shù)據(jù)源中被訪問表的行的索引號(也就是行號),即可達(dá)到數(shù)據(jù)瀏覽的目的。 具體操作如下: 首條記錄:mybind.Position = 0 往前翻:mybind.Position = mybind.Position 1 往后翻:mybind.Position = mybind.Position + 1 最后一條記錄:mybind.Position = mybind.Count()-1二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新1)按照例按照例1 的步驟生成數(shù)據(jù)集的

25、步驟生成數(shù)據(jù)集DataSet112)按上圖設(shè)計好界面)按上圖設(shè)計好界面3)代碼參考如下)代碼參考如下二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新Imports System.Data.SqlClient 指明指明Sql對象的命名空間對象的命名空間Public Class Form1 Inherits System.Windows.Forms.Form Public mybind As BindingManagerBase 在此定義數(shù)據(jù)綁定對象在此定義數(shù)據(jù)綁定對象mybind Private Sub Form1_Load(ByVal sender As System.Object, ByVal

26、e As System.EventArgs) Handles MyBase.Load Me.SqlDataAdapter1.Fill(Me.DataSet11.T_Major) mybind = Me.BindingContext(Me.DataSet11, T_Major) 指定綁定對象的數(shù)據(jù)源指定綁定對象的數(shù)據(jù)源 Me.DataGrid1.DataSource = Me.DataSet11.T_Major 指定控件的數(shù)據(jù)源指定控件的數(shù)據(jù)源End Sub 按鈕按鈕“|”的代碼,綁定對象通過屬性的代碼,綁定對象通過屬性Position來指示元組的位置或表中行的位置來指示元組的位置或表中行的位置

27、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click mybind.Position = 0 End Sub 按鈕按鈕“”的代碼的代碼 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click mybind.Position = mybind.Position + 1 End

28、Sub 按鈕按鈕“|”的代碼的代碼 Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click mybind.Position = mybind.Count - 1 End Sub 通過調(diào)整通過調(diào)整DataGrid數(shù)據(jù)指示器的位置,使文本框同步顯示相關(guān)記錄信息數(shù)據(jù)指示器的位置,使文本框同步顯示相關(guān)記錄信息 Private Sub DataGrid1_Click() Handles DataGrid1.Click mybind.Positio

29、n = DataGrid1.CurrentRowIndex End SubEnd Class為了使DataGrid能同步顯示數(shù)據(jù)指示器的位置,可在每個按鈕事件過程代碼最后增加如下語句: DataGrid1.CurrentRowIndex = mybind.Position二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新【例例6】通過綁定對象實現(xiàn)對專業(yè)記錄的增加、刪除和修改操作,程序窗體界面如下圖所示。二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新 綁定對象的更新操作有下列方法調(diào)用:綁定對象的更新操作有下列方法調(diào)用: mybind.AddNew(),用于添加一空行; mybind.RemoveAt(m

30、ybind.Position),用于刪除指定行; mybind.CancelCurrentEdit(),撤銷修改; mybind.EndCurrentEdit(),在窗體上直接修改,然后用該方法結(jié)束當(dāng)前修改。 用數(shù)據(jù)適配器的用數(shù)據(jù)適配器的Update方法更新到數(shù)據(jù)方法更新到數(shù)據(jù)源中,本例是對表源中,本例是對表“T_Major”的操作,的操作,實現(xiàn)代碼為:實現(xiàn)代碼為:Me.SqlDataAdapter1.Update(Me.DataSet11. T_Major)二、基于綁定的數(shù)據(jù)更新二、基于綁定的數(shù)據(jù)更新Imports System.Data.SqlClientPublic Class Form1Inherits System.Windows.Forms.Form Public mybind As Binding

溫馨提示

  • 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

提交評論