Oracle10g數(shù)據(jù)庫應(yīng)用之ADO數(shù)據(jù)訪問技術(shù)_第1頁
Oracle10g數(shù)據(jù)庫應(yīng)用之ADO數(shù)據(jù)訪問技術(shù)_第2頁
Oracle10g數(shù)據(jù)庫應(yīng)用之ADO數(shù)據(jù)訪問技術(shù)_第3頁
Oracle10g數(shù)據(jù)庫應(yīng)用之ADO數(shù)據(jù)訪問技術(shù)_第4頁
Oracle10g數(shù)據(jù)庫應(yīng)用之ADO數(shù)據(jù)訪問技術(shù)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 第第11章章 ADO數(shù)據(jù)訪問技術(shù)數(shù)據(jù)訪問技術(shù)本章知識(shí)點(diǎn)本章知識(shí)點(diǎn)pADOADO數(shù)據(jù)模型數(shù)據(jù)模型p數(shù)據(jù)庫訪問控件數(shù)據(jù)庫訪問控件p常用常用ADOADO對(duì)象對(duì)象11.1 ADO數(shù)據(jù)模型數(shù)據(jù)模型ADOADO提供執(zhí)行以下操作方式:提供執(zhí)行以下操作方式:p 連接到數(shù)據(jù)源。連接到數(shù)據(jù)源。p 指定訪問數(shù)據(jù)源的命令,可以在命令中指定參數(shù)。通指定訪問數(shù)據(jù)源的命令,可以在命令中指定參數(shù)。通常涉及常涉及ADOADO的的CommandCommand對(duì)象。對(duì)象。p 執(zhí)行命令,例如一個(gè)執(zhí)行命令,例如一個(gè)SELECTSELECT腳本。腳本。p 在適當(dāng)情況下,可以把緩存行的更改內(nèi)容寫回?cái)?shù)據(jù)庫在適當(dāng)情況下,可以把緩存行的更改內(nèi)

2、容寫回?cái)?shù)據(jù)庫中,更新數(shù)據(jù)源。中,更新數(shù)據(jù)源。p 提供常規(guī)方法檢測(cè)錯(cuò)誤(錯(cuò)誤通常由建立連接或執(zhí)行提供常規(guī)方法檢測(cè)錯(cuò)誤(錯(cuò)誤通常由建立連接或執(zhí)行命令造成),涉及命令造成),涉及ADOADO的的ErrorError對(duì)象對(duì)象。ADO編程模型的元素編程模型的元素(1)連接。(2)命令。(3)參數(shù)。(4)記錄集。(5)字段。(6)錯(cuò)誤。(7)屬性。(8)集合。(9)事件。ADO支持以下支持以下4種類型的集合種類型的集合 ConnectionConnection對(duì)象具有對(duì)象具有ErrorsErrors集合,包含響應(yīng)與數(shù)據(jù)集合,包含響應(yīng)與數(shù)據(jù)源有關(guān)的單一錯(cuò)誤而創(chuàng)建的所有源有關(guān)的單一錯(cuò)誤而創(chuàng)建的所有ErrorE

3、rror對(duì)象。對(duì)象。 CommandCommand對(duì)象具有對(duì)象具有ParametersParameters集合,包含應(yīng)用于集合,包含應(yīng)用于CommandCommand對(duì)象的所有對(duì)象的所有ParameterParameter對(duì)象。對(duì)象。 Recordset Recordset對(duì)象具有對(duì)象具有FieldsFields集合,包含集合,包含RecordsetRecordset對(duì)對(duì)象中所有列的象中所有列的FieldField對(duì)象。對(duì)象。 此外,此外,ConnectionConnection、CommandCommand、RecordsetRecordset和和FieldField對(duì)對(duì)象都具有象都具有Pr

4、opertiesProperties集合,它包含各個(gè)對(duì)象的集合,它包含各個(gè)對(duì)象的PropertyProperty對(duì)象。對(duì)象。ADO支持以下兩種事件支持以下兩種事件 ConnectionEvents ConnectionEvents。ConnecttionEventsConnecttionEvents事件在以下情況下發(fā)生事件在以下情況下發(fā)生:p 連接中的事務(wù)開始、被提交或被回滾。連接中的事務(wù)開始、被提交或被回滾。p 執(zhí)行命令。執(zhí)行命令。p 連接的開始或結(jié)束。連接的開始或結(jié)束。p 此事件用于對(duì)連接狀態(tài)變化的報(bào)告。此事件用于對(duì)連接狀態(tài)變化的報(bào)告。 RecordsetEvents RecordsetE

5、vents 。RecordsetEventsRecordsetEvents事件在以下情況下發(fā)生:事件在以下情況下發(fā)生:p 在在RecordsetRecordset對(duì)象的行中進(jìn)行定位。對(duì)象的行中進(jìn)行定位。p 更改記錄集行中的字段。更改記錄集行中的字段。p 更改記錄集中的行。更改記錄集中的行。p 在整個(gè)記錄集中進(jìn)行更改。在整個(gè)記錄集中進(jìn)行更改。11. 2數(shù)據(jù)庫訪問控件數(shù)據(jù)庫訪問控件pADO DataADO Data控件??丶?。pDataListDataList控件??丶DataComboDataCombo控件??丶DataGridDataGrid控件。控件。11.2.1 ADO Data控

6、件控件(1 1)選擇)選擇“工程工程”菜單中的菜單中的“部件部件”命令,打開命令,打開“部件部件”屬性對(duì)話框?qū)傩詫?duì)話框。(2 2)在控件列表中,查找并選擇)在控件列表中,查找并選擇Microsoft ADO Data Controls 6.0Microsoft ADO Data Controls 6.0(OLEDBOLEDB),如圖),如圖11.111.1所示。如果在列表中沒有此選項(xiàng),請(qǐng)下載并所示。如果在列表中沒有此選項(xiàng),請(qǐng)下載并安裝安裝Visual Basic 6.0Visual Basic 6.0的升級(jí)補(bǔ)丁(的升級(jí)補(bǔ)?。╒S6SP5VS6SP5)。)。(3 3)單擊)單擊“確定確定”按鈕,

7、可以看到按鈕,可以看到ADO DataADO Data控件的圖標(biāo)出現(xiàn)在控件的圖標(biāo)出現(xiàn)在“工具工具箱箱”中,如圖中,如圖11.211.2所示。所示。 ADO Data控件的常用屬性控件的常用屬性p BOF BOF p ConnectionStringConnectionStringp ConnectionTimeoutConnectionTimeoutp EOFEOFp MaxRecords MaxRecords p ModeModep Password Password p RecordsetRecordsetp RecordSourceRecordSource、p UserNameUserN

8、ame【例例11.1】ADO Data控件的示例程序控件的示例程序 在窗體在窗體FormMainFormMain中使用一個(gè)中使用一個(gè)ADO DataADO Data控件讀取表控件讀取表UsersUsers中的中的數(shù)據(jù),并通過文本框顯示各個(gè)字段的數(shù)據(jù)。單擊數(shù)據(jù),并通過文本框顯示各個(gè)字段的數(shù)據(jù)。單擊ADO DataADO Data控控件中的前后移動(dòng)按鈕,可以改變當(dāng)前記錄的位置,文本框的件中的前后移動(dòng)按鈕,可以改變當(dāng)前記錄的位置,文本框的內(nèi)容也會(huì)自動(dòng)地發(fā)生變化。內(nèi)容也會(huì)自動(dòng)地發(fā)生變化。設(shè)置主窗體屬性設(shè)置主窗體屬性屬性說明(名稱)FormMainBorderStyle1 Fixed SingleCap

9、tion顯示部門信息StartUpPosition2 屏幕中心設(shè)置設(shè)置ADO Data控件的屬性控件的屬性 在窗體在窗體FrmMainFrmMain中添加控件中添加控件ADO DataADO Data,控件名為,控件名為Adodc1Adodc1。右鍵單擊。右鍵單擊ADO DataADO Data控件,選擇菜單中的控件,選擇菜單中的“ADODCADODC屬性屬性”命令,打開命令,打開“屬性頁屬性頁”窗口,窗口,設(shè)置設(shè)置ADO控件屬性控件屬性p在在“連接資源連接資源”選項(xiàng)中選擇選項(xiàng)中選擇“使用連接字符串使用連接字符串”,然,然后單擊后單擊“生成生成”按鈕,打開按鈕,打開“數(shù)據(jù)鏈接屬性數(shù)據(jù)鏈接屬性”

10、窗口。窗口。設(shè)置設(shè)置ADO控件屬性控件屬性p 選擇選擇“Oracle Provider for OLE DBOracle Provider for OLE DB”,單擊,單擊“下一下一步步”按鈕,打開按鈕,打開“連接連接”頁面。設(shè)置數(shù)據(jù)源為頁面。設(shè)置數(shù)據(jù)源為orclorcl,然后輸入用戶名然后輸入用戶名USERMANUSERMAN和對(duì)應(yīng)的密碼。和對(duì)應(yīng)的密碼。設(shè)置標(biāo)簽和文本框的屬性設(shè)置標(biāo)簽和文本框的屬性控件名屬性設(shè)置值Label1Caption用戶編號(hào):Label2Caption用戶名稱:Text1DataSourceAdodc1DataFieldUSERIDText空Text2DataSour

11、ceAdodc1DataFieldUSERNAMEText空11.2.2 DataList控件和控件和DataCombo控件控件p 選擇選擇“工程工程”菜單中的菜單中的“部件部件”命令,打開命令,打開“部件部件”屬性對(duì)話框?qū)傩詫?duì)話框。在控件列表中,查找并選擇。在控件列表中,查找并選擇Microsoft DataList Controls Microsoft DataList Controls 6.06.0(OLEDBOLEDB。單擊。單擊“確定確定”按鈕,可以看到按鈕,可以看到DataListDataList控件和控件和DataComboDataCombo控件的圖標(biāo)出現(xiàn)在控件的圖標(biāo)出現(xiàn)在“工具

12、箱工具箱”中。中。 DataList控件和控件和DataCombo控件常用控件常用屬性屬性pBoundColumnBoundColumnpBoundText BoundText pDataFieldDataFieldpDataSource DataSource pListFieldListFieldpRowSourceRowSourcepSelectedItemSelectedItem示例程序示例程序p此工程包含一個(gè)窗體此工程包含一個(gè)窗體FormMainFormMain,窗體中包含了一個(gè),窗體中包含了一個(gè)ADO DataADO Data控件、一個(gè)控件、一個(gè)DataComboDataCombo控

13、件和一個(gè)控件和一個(gè)DataListDataList控件??丶?。DataComboDataCombo控件和控件和DataListDataList控件分別顯示表控件分別顯示表UsersUsers中所有的用戶名稱。中所有的用戶名稱。 DataCombo 控件 DataList 控件 ADO Data控件的屬性控件的屬性屬性設(shè)置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password= U S E R M A N ; P e r s i s t S e c u r i t y Info=True;User ID=USERMAN;Data Source=o

14、rcl(可以由系統(tǒng)自動(dòng)生成)CursorType2 adOpenDynamicRecordSourceSELECT * FROM Users ORDER BY USERIDVisibleFalseDataCombo控件的屬性控件的屬性屬性設(shè)置值RowSourceAdodc1ListFieldUserNameBoundColumnUserIdStyle2 dbcDropdownList(設(shè)置組合框的類型,用戶只能選擇組合框中的數(shù)據(jù))DataList控件的屬性控件的屬性屬性設(shè)置值RowSourceAdodc1ListFieldUserName11.2.3 DataGrid控件控件p選擇選擇“工程工

15、程”菜單中的菜單中的“部件部件”命令,打開命令,打開“部件部件”屬性對(duì)話框。在控件列表中,查找并選擇屬性對(duì)話框。在控件列表中,查找并選擇Microsoft Microsoft DataGrid Controls 6.0DataGrid Controls 6.0(OLEDB)OLEDB)。 示例程序示例程序p此工程名為此工程名為DataGridDataGrid,包含兩個(gè)窗體,一個(gè)是使用,包含兩個(gè)窗體,一個(gè)是使用DataGridDataGrid控件顯示數(shù)據(jù)的控件顯示數(shù)據(jù)的FormDataGridFormDataGrid窗體,這也窗體,這也是工程的主窗體;另一個(gè)是是工程的主窗體;另一個(gè)是FormSh

16、owDataFormShowData窗體,它窗體,它用來演示如何從用來演示如何從DataGridDataGrid控件的表格中讀取一行數(shù)控件的表格中讀取一行數(shù)據(jù)的具體內(nèi)容。據(jù)的具體內(nèi)容。 設(shè)置主窗體屬性設(shè)置主窗體屬性屬性說明(名稱)FormMainBorderStyle1 Fixed SingleCaption用戶信息表StartUpPosition2 屏幕中心ADO Data控件的屬性控件的屬性屬性設(shè)置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;Persist Security Info=True;User ID=U

17、SERMAN;Data Source=orclCursorType2 adOpenDynamicRecordSourceSELECT * FROM UsersVisibleFalse添加添加DataGrid控件并設(shè)置屬性控件并設(shè)置屬性設(shè)置列標(biāo)題和數(shù)據(jù)字段設(shè)置列標(biāo)題和數(shù)據(jù)字段列標(biāo)題數(shù)據(jù)字段Column 0 用戶編號(hào)USERIDColumn 1 用戶名USERNAMEColumn 2 密碼USERPWDFormShowData窗體屬性窗體屬性 屬性說明(名稱)FrmShowDataBorderStyle1 Fixed Single Caption顯示當(dāng)前數(shù)據(jù)StartUpPosition2 屏幕中

18、心FormShowData窗體窗體11.3 常用常用ADO對(duì)象對(duì)象pConnectionConnection對(duì)象對(duì)象pCommandCommand對(duì)象對(duì)象pRecordsetRecordset對(duì)象對(duì)象pFieldField對(duì)象對(duì)象 添加引用添加引用 選擇菜單選擇菜單“工工程程”/ /“引用引用”,打開,打開“引用引用”對(duì)話框,在對(duì)話框,在引用列表中選中引用列表中選中“Microsoft Activex Microsoft Activex Data Objects 2.6 Data Objects 2.6 LibraryLibrary”(不同環(huán)境(不同環(huán)境下下ADOADO的版本號(hào)可能不的版本號(hào)可

19、能不同)同)11.3.1 Connection對(duì)象對(duì)象p創(chuàng)建創(chuàng)建ConnectionConnection對(duì)象的方法如下:對(duì)象的方法如下: Dim cnn As New ADODB.ConnectionDim cnn As New ADODB.ConnectionConnectionString屬性屬性p ConnectionStringConnectionString是連接字符串,指定用于建立連接數(shù)是連接字符串,指定用于建立連接數(shù)據(jù)源的信息??梢允褂脫?jù)源的信息??梢允褂肙DBCODBC數(shù)據(jù)源來表示連接字符串,數(shù)據(jù)源來表示連接字符串,代碼如下:代碼如下:Dim cnn As New ADODB.

20、ConnectionDim cnn As New ADODB.Connectioncnn.ConnectionString = DSN=mydata; .cnn.ConnectionString = DSN=mydata; .mydatamydata是創(chuàng)建的是創(chuàng)建的ODBCODBC數(shù)據(jù)源名。數(shù)據(jù)源名。ConnectionString屬性屬性p 可以通過直接設(shè)置數(shù)據(jù)源提供者(可以通過直接設(shè)置數(shù)據(jù)源提供者(ProviderProvider)和數(shù)據(jù))和數(shù)據(jù)庫文件的方法表示連接字符串,代碼如下:庫文件的方法表示連接字符串,代碼如下: Dim cnn As New ADODB.ConnectionDim

21、 cnn As New ADODB.Connection cnn.ConnectionString = cnn.ConnectionString = Provider=OraOLEDB.Oracle.1;Password=USERMAN;PerProvider=OraOLEDB.Oracle.1;Password=USERMAN;Persist Security Info=True;User ID=USERMAN;Data sist Security Info=True;User ID=USERMAN;Data Source=orcl Source=orcl User IDUser ID表示訪

22、問數(shù)據(jù)庫的用戶名,表示訪問數(shù)據(jù)庫的用戶名,PasswordPassword表示密碼,表示密碼,Data SourceData Source表示數(shù)據(jù)庫實(shí)例。表示數(shù)據(jù)庫實(shí)例。ConnectionTimeout屬性屬性pConnectionTimeoutConnectionTimeout屬性指示在終止嘗試屬性指示在終止嘗試和產(chǎn)生錯(cuò)誤之前執(zhí)行命令需等待的時(shí)間和產(chǎn)生錯(cuò)誤之前執(zhí)行命令需等待的時(shí)間,默認(rèn)值為,默認(rèn)值為30s30s。Mode屬性屬性pModeMode屬性指定屬性指定ConnectionConnection對(duì)象修改數(shù)據(jù)對(duì)象修改數(shù)據(jù)的權(quán)限。的權(quán)限。常量說明adModeUnknown默認(rèn)值。表明權(quán)限

23、尚未設(shè)置或無法確定adModeRead表明權(quán)限為只讀adModeWrite表明權(quán)限為只寫adModeReadWrite表明權(quán)限為讀/寫adModeShareDenyRead防止其他用戶使用讀權(quán)限打開連接adModeShareDenyWrite防止其他用戶使用寫權(quán)限打開連接adModeShareExclusive防止其他用戶打開連接adModeShareDenyNone防止其他用戶使用任何權(quán)限打開連接State屬性屬性pStateState屬性返回屬性返回ConnectionConnection對(duì)象的狀態(tài)。對(duì)象的狀態(tài)。常量說明adStateClosed默認(rèn),指示對(duì)象是關(guān)閉的adStateOpen

24、指示對(duì)象是打開的adStateConnecting指示 Recordset 對(duì)象正在連接adStateExecuting指示 Recordset 對(duì)象正在執(zhí)行命令adStateFetching指示 Recordset 對(duì)象的行正在被讀取Open方法方法pOpenOpen方法用于打開到數(shù)據(jù)源的連接。方法用于打開到數(shù)據(jù)源的連接。 connectionconnection.Open .Open ConnectionStringConnectionString, , UserIDUserID, , PasswordPassword, , OptionsOptionspConnectionStringC

25、onnectionString是連接字符串。是連接字符串。pUserIDUserID是訪問數(shù)據(jù)庫的用戶名。是訪問數(shù)據(jù)庫的用戶名。pPasswordPassword是密碼。是密碼。pOptionsOptions是連接選項(xiàng)。是連接選項(xiàng)。Close方法方法pCloseClose方法用于關(guān)閉到數(shù)據(jù)源的連接。訪方法用于關(guān)閉到數(shù)據(jù)源的連接。訪問數(shù)據(jù)庫完成后,為了節(jié)省資源,需要問數(shù)據(jù)庫完成后,為了節(jié)省資源,需要將數(shù)據(jù)庫連接關(guān)閉。將數(shù)據(jù)庫連接關(guān)閉。11.3.2 Command對(duì)象對(duì)象它的常用屬性和方法如下。它的常用屬性和方法如下。p ActiveConnectionActiveConnection屬性:通過設(shè)

26、置屬性:通過設(shè)置ActiveConnectionActiveConnection屬性使打開的連接與屬性使打開的連接與CommandCommand對(duì)象關(guān)聯(lián)。對(duì)象關(guān)聯(lián)。p CommandTextCommandText屬性:定義命令(例如屬性:定義命令(例如SQLSQL語句)的可執(zhí)語句)的可執(zhí)行文本。行文本。p ExecuteExecute方法:執(zhí)行在方法:執(zhí)行在CommandTextCommandText屬性中指定的查詢屬性中指定的查詢、SQLSQL語句或存儲(chǔ)過程。如果語句或存儲(chǔ)過程。如果CommandTextCommandText屬性指定按屬性指定按行返回查詢,執(zhí)行所產(chǎn)生的結(jié)果將存儲(chǔ)在新的行返回

27、查詢,執(zhí)行所產(chǎn)生的結(jié)果將存儲(chǔ)在新的RecordsetRecordset對(duì)象中。如果該命令不是按行返回查詢,則對(duì)象中。如果該命令不是按行返回查詢,則返回關(guān)閉的返回關(guān)閉的RecordsetRecordset對(duì)象。對(duì)象。11.3.3 Recordset對(duì)象對(duì)象p RecordsetRecordset對(duì)象的常用屬性和方法如下。對(duì)象的常用屬性和方法如下。p ActiveConnectionActiveConnection屬性:通過設(shè)置屬性:通過設(shè)置ActiveConnectionActiveConnection屬性使打開屬性使打開的連接與的連接與CommandCommand對(duì)象關(guān)聯(lián)。對(duì)象關(guān)聯(lián)。p Abs

28、olutePositionAbsolutePosition屬性:指定屬性:指定RecordsetRecordset對(duì)象當(dāng)前記錄的序號(hào)位置對(duì)象當(dāng)前記錄的序號(hào)位置。p BOFBOF、EOFEOF屬性:屬性:BOFBOF指示當(dāng)前記錄位置位于指示當(dāng)前記錄位置位于RecordsetRecordset對(duì)象的第一對(duì)象的第一個(gè)記錄之前。個(gè)記錄之前。EOFEOF指示當(dāng)前記錄位置位于指示當(dāng)前記錄位置位于RecordsetRecordset對(duì)象的最后一對(duì)象的最后一個(gè)記錄之后。個(gè)記錄之后。p MaxRecordMaxRecord屬性:指定通過查詢返回屬性:指定通過查詢返回RecordsetRecordset的記錄的最

29、大數(shù)目的記錄的最大數(shù)目。例如只需要返回前。例如只需要返回前1010條記錄時(shí),可以將條記錄時(shí),可以將MaxRecordMaxRecord屬性設(shè)置為屬性設(shè)置為1010。p RecordCount RecordCount 屬性:返回屬性:返回RecordsetRecordset對(duì)象中記錄的當(dāng)前數(shù)目。對(duì)象中記錄的當(dāng)前數(shù)目。常用方法常用方法pMoveMove方法:在記錄集中移動(dòng)指針。方法:在記錄集中移動(dòng)指針。pMoveFirstMoveFirst、MoveLastMoveLast、MoveNextMoveNext和和MovePrevious MovePrevious 方法:在指定的方法:在指定的RecordsetRecordset對(duì)象中移動(dòng)到第一個(gè)、最后一對(duì)象中移動(dòng)到第一個(gè)、最后一個(gè)、下一個(gè)或前一個(gè)記錄并使該記錄成個(gè)、下一個(gè)或前一個(gè)記錄并使該記錄成為當(dāng)前記錄。為當(dāng)前記錄。Open方法方法p 使用使用OpenOpen方法可打開代表基本表、查詢結(jié)果或者以前方法可打開代表基本表、查詢結(jié)果或者以前保存的保存的RecordsetRecordset中記錄的游標(biāo)。中記錄的游標(biāo)。OpenOpen方法的語法如下方法的語法如下: recordset.Open recordset.Open SourceSource, , ActiveConnectionActiveConnection

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論