11 數(shù)據(jù)庫(kù)連接模型_第1頁(yè)
11 數(shù)據(jù)庫(kù)連接模型_第2頁(yè)
11 數(shù)據(jù)庫(kù)連接模型_第3頁(yè)
11 數(shù)據(jù)庫(kù)連接模型_第4頁(yè)
11 數(shù)據(jù)庫(kù)連接模型_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

工程應(yīng)用培訓(xùn)教材PAGEPAGE1MSSQL2000程序員培訓(xùn)教程四面楚歌系列培訓(xùn)教材VisualBasic6.0程序員培訓(xùn)教程第十一節(jié)數(shù)據(jù)庫(kù)連接模型應(yīng)用背景數(shù)據(jù)庫(kù)管理是最為廣泛的應(yīng)用之一,數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)是自動(dòng)化系統(tǒng)中的一大領(lǐng)域,特別是伴隨客戶機(jī)/服務(wù)器數(shù)據(jù)庫(kù)管理系統(tǒng)的出現(xiàn),這種類(lèi)型的應(yīng)用越來(lái)越受到廣大用戶喜愛(ài)??蛻魴C(jī)是在工作站上運(yùn)行的客戶程序,工作站則與局域網(wǎng)絡(luò)(LAN)或廣域網(wǎng)絡(luò)(WAN)上的服務(wù)器相連,構(gòu)成客戶機(jī)/服務(wù)器系統(tǒng),其最主要的特點(diǎn)是所有由客戶機(jī)應(yīng)用程序發(fā)出的SQL語(yǔ)句都在服務(wù)器上執(zhí)行,即服務(wù)器負(fù)責(zé)執(zhí)行所有由工作站送入服務(wù)器的SQL語(yǔ)句。例如從工作站上向服務(wù)器發(fā)出一個(gè)

Select

查詢,則只有滿足查詢條件的記錄被返回到客戶工作站。參見(jiàn)圖11-1所示客戶機(jī)/服務(wù)器結(jié)構(gòu),這種結(jié)構(gòu)稱C/S結(jié)構(gòu)。數(shù)據(jù)庫(kù)服務(wù)器LAN/WAN數(shù)據(jù)庫(kù)服務(wù)器LAN/WAN圖11-1客戶機(jī)/服務(wù)器結(jié)構(gòu)如果客戶端使用瀏覽器Browser,而不是使用編寫(xiě)的客戶端程序,那么由服務(wù)器端的目錄服務(wù)器提供頁(yè)面服務(wù)的程序設(shè)計(jì),稱為瀏覽器/服務(wù)器模式,即B/S模式。這種模式的顯著特點(diǎn)是客戶端沒(méi)有程序,客戶端只有瀏覽器,所有程序都在服務(wù)器端運(yùn)行,顯然他避免了客戶端程序的安裝,減少了客戶端程序的維護(hù),增強(qiáng)了客戶端服務(wù)程序的核心作用。數(shù)據(jù)庫(kù)連接模型就是適合以上所述兩種軟件開(kāi)發(fā)模式的通用數(shù)據(jù)庫(kù)聯(lián)接模型,這里我們只介紹微軟公司提供的ADO模型。知識(shí)要點(diǎn)(1)ADO模型ActiveXDataObjects簡(jiǎn)稱ADO,ADO是Microsoft提出的應(yīng)用程序接口(API)用以實(shí)現(xiàn)訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù),也是Microsoft的組件對(duì)象模式(COM)的一部分,是微軟最新的數(shù)據(jù)訪問(wèn)技術(shù)。它被設(shè)計(jì)用來(lái)同新的數(shù)據(jù)訪問(wèn)層OLEDBProvider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(wèn)(UniversalDataAccess)。OLEDB是一個(gè)低層的數(shù)據(jù)訪問(wèn)接口,用它可以訪問(wèn)各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象。ADO向我們提供了一個(gè)熟悉的,高層的對(duì)OLEDB的Automation封裝接口。ADO對(duì)象是OLEDB的接口,不同的數(shù)據(jù)源要求它們自己的OLEDB提供者(OLEDBprovider)。目前,雖然OLEDB提供者比較少,但微軟正積極推廣該技術(shù),并打算用OLEDB取代ODBC。ADO的目標(biāo)是訪問(wèn)、編輯和更新數(shù)據(jù)源,而編程模型體現(xiàn)了為完成該目標(biāo)所必需的系列動(dòng)作的順序。ADO可以完成的主要工作:1.連接到數(shù)據(jù)源。2.執(zhí)行SQL命令。3.返回結(jié)果集。4.事物處理。5.執(zhí)行存儲(chǔ)過(guò)程。(2)VisualBasic6.0下建立數(shù)據(jù)庫(kù)連接環(huán)境VB程序大多情況下是使用ADO數(shù)據(jù)連接方式連接數(shù)據(jù)庫(kù)。VB集成環(huán)境的操作步驟:工程-〉添加數(shù)據(jù)環(huán)境,在工程窗口中選擇連接環(huán)境,在屬性窗口中將連接環(huán)境名稱更改為DE1,將數(shù)據(jù)連接對(duì)象名稱更改為Conn。在設(shè)計(jì)窗口中選擇Conn對(duì)象,點(diǎn)擊鼠標(biāo)右健屬性菜單,進(jìn)行數(shù)據(jù)連接的設(shè)置,參見(jiàn)圖11-2。首先設(shè)置數(shù)據(jù)連接的驅(qū)動(dòng)程序,我們選擇連接MSSQLSERVER2K數(shù)據(jù)庫(kù),因此選用MicrosoftOLEDBProviderforSQLSERVER驅(qū)動(dòng)。圖11-2數(shù)據(jù)連接-選擇驅(qū)動(dòng)程序選擇數(shù)據(jù)驅(qū)動(dòng)后,選擇數(shù)據(jù)庫(kù)服務(wù)器名稱或IP地址(運(yùn)行數(shù)據(jù)庫(kù)的機(jī)器名稱),數(shù)據(jù)庫(kù)用戶名稱和密碼(與數(shù)據(jù)庫(kù)連接的用戶名或密碼),以及在數(shù)據(jù)庫(kù)服務(wù)器上選擇需要連接的數(shù)據(jù)庫(kù)(建立的數(shù)據(jù)庫(kù)名稱),最后進(jìn)行測(cè)試連接,參見(jiàn)圖11-3。圖11-3數(shù)據(jù)連接點(diǎn)擊測(cè)試連接成功畫(huà)面如下:圖11-4測(cè)試成功這個(gè)成功連接的數(shù)據(jù)環(huán)境,已經(jīng)設(shè)置的屬性包括:連接字符串屬性ConnectionSource:用于設(shè)置連接數(shù)據(jù)庫(kù)的要素,數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,網(wǎng)絡(luò)上數(shù)據(jù)服務(wù)器名稱或IP地址,數(shù)據(jù)庫(kù)用戶名和密碼,以及需要連接的數(shù)據(jù)庫(kù)名。ConnectionSource=’Provider=SQLOLEDB.1;Password="";PersistSecurityInfo=True;UserID=sa;InitialCatalog=www;DataSource=beijing’連接數(shù)據(jù)庫(kù)時(shí)間限制ConnectionTimeout:用于設(shè)置連接數(shù)據(jù)庫(kù)的時(shí)間限制。ConnectionTimeout=15執(zhí)行查詢時(shí)間限制CommandTime:用于設(shè)置執(zhí)行數(shù)據(jù)庫(kù)操作的時(shí)間限制。CommandTime=30連接數(shù)據(jù)方法Open:用于連接數(shù)據(jù)庫(kù)DE1.Conn.Open關(guān)閉數(shù)據(jù)方法Close:用于關(guān)閉數(shù)據(jù)庫(kù)DE1.Conn.Close(3)執(zhí)行數(shù)據(jù)庫(kù)SQL操作在工程中數(shù)據(jù)連接環(huán)境同窗體一樣,是全局量,因此我們可以在程序的任何位置使用這個(gè)環(huán)境來(lái)進(jìn)行數(shù)據(jù)操作。執(zhí)行數(shù)據(jù)庫(kù)操作SQL命令的基本形式如下:DE1.Conn.ExecutestrSql對(duì)于沒(méi)有返回結(jié)果集的SQL命令,如Insert,Update,delete等SQL命令,執(zhí)行SQL數(shù)據(jù)操作命令的基本方式為使用數(shù)據(jù)環(huán)境DE1的數(shù)據(jù)連接對(duì)象Conn的方法Execute直接執(zhí)行。SQL命令可以通過(guò)VB中的字符串連接方式構(gòu)造。例如:strSql="insertintocustomer(cid,cname)values('kh01','liweimiao')"DE1.Conn.ExecutestrSql(4)獲得數(shù)據(jù)庫(kù)返回結(jié)果集對(duì)于有返回結(jié)果集的SQL命令,如select語(yǔ)句,需要把結(jié)果集付給VB程序中的ADO對(duì)象的Recordset集類(lèi)型變量,基本形式如下:DimrstAsADODB.RecordsetSetrst=NewADODB.RecordsetDE1.Conn.OpenstrSql="select*fromsetup"rst.OpenstrSql,DE1.Conn,3,1Recordset是一個(gè)數(shù)據(jù)查詢結(jié)果集,對(duì)象部分方法解釋如下:Open方法用于返回查詢結(jié)果集:recordset.OpenSource,ActiveConnection,CursorType,LockType,OptionsSource:可選,SQL語(yǔ)句、表名、存儲(chǔ)過(guò)程調(diào)用ActiveConnection可選,有效Connection對(duì)象變量名。CursorType可選,CursorTypeEnum值,確定提供者打開(kāi)Recordset時(shí)應(yīng)該使用的游標(biāo)類(lèi)型:AdOpenForwardOnly(默認(rèn)值)打開(kāi)僅向前類(lèi)型游標(biāo),AdOpenKeyset打開(kāi)鍵集類(lèi)型游標(biāo)(常用),AdOpenDynamic打開(kāi)動(dòng)態(tài)類(lèi)型游標(biāo)(常用),AdOpenStatic打開(kāi)靜態(tài)類(lèi)型游標(biāo)。LockType可選,確定提供者打開(kāi)Recordset時(shí)應(yīng)該使用的鎖定(并發(fā))類(lèi)型的LockTypeEnum值,可為下列常量之一,AdLockReadOnly(默認(rèn)值)只讀,AdLockPessimistic保守式鎖定—提供者完成確保成功編輯記錄所需的工作,通常通過(guò)在編輯時(shí)立即鎖定數(shù)據(jù)源的記錄,AdLockOptimistic開(kāi)放式鎖定—提供者使用開(kāi)放式鎖定,只在調(diào)用Update方法時(shí)才鎖定記錄,AdLockBatchOptimistic開(kāi)放式批更新—用于批更新模式。Options可選,長(zhǎng)整型值,用于指示提供者如何計(jì)算Source參數(shù)??蔀橄铝谐A恐?,adCmdText指示提供者應(yīng)該將Source作為命令的文本定義來(lái)計(jì)算,adCmdTable指示ADO生成SQL查詢以便從在Source中命名的表中返回所有行,adCmdTableDirect指示提供者更改從在Source中命名的表中返回所有行,adCmdStoredProc指示提供者應(yīng)該將Source視為存儲(chǔ)過(guò)程,adCmdUnknown指示Source參數(shù)中的命令類(lèi)型為未知,adCmdFile指示應(yīng)從在Source中命名的文件中恢復(fù)保留(保存的)Recordset,adAsyncExecute指示應(yīng)異步執(zhí)行Source,adAsyncFetch指示在提取InitialFetchSize屬性中指定的初始數(shù)量后,應(yīng)該異步提取所有剩余的行。如果所需的行尚未提取,主要的線程將被堵塞直到行重新可用,adAsyncFetchNonBlocking指示主要線程在提取期間從未堵塞。如果所請(qǐng)求的行尚未提取,當(dāng)前行自動(dòng)移到文件末尾。Recordset對(duì)象屬性及方法:Move方法:移動(dòng)指針到Recordset對(duì)象的指定位置MoveFirst方法:移動(dòng)指針到Recordset對(duì)象的第一條記錄MoveLast方法:移動(dòng)指針到Recordset對(duì)象的最后一條記錄MovePrevious方法:移動(dòng)指針到Recordset對(duì)象的上一條記錄MoveNext方法:移動(dòng)指針到Recordset對(duì)象的下一條記錄Recordset對(duì)象部分屬性:BOF屬性:判斷當(dāng)前Recordset對(duì)象的數(shù)據(jù)游標(biāo)是否指向開(kāi)始位置。EOF屬性:判斷當(dāng)前Recordset對(duì)象的數(shù)據(jù)游標(biāo)是否指向結(jié)尾位置。RecordCount屬性:判斷當(dāng)前Recordset對(duì)象中的記錄條數(shù)。PageSize屬性:設(shè)定結(jié)果集的中每頁(yè)顯示的記錄數(shù)量。AbsolutePage:返回結(jié)果集中的當(dāng)前頁(yè)碼。PageCount屬性:返回結(jié)果集的頁(yè)面數(shù)量。(5)事務(wù)處理操作Connection連接對(duì)象能夠完成事務(wù)處理功能,典型的事務(wù)處理包括:BeginTrans方法:事務(wù)處理開(kāi)始,代表一系列事務(wù)處理開(kāi)始CommitTrans方法:事務(wù)處理執(zhí)行,將已經(jīng)執(zhí)行的動(dòng)作在服務(wù)器上確認(rèn)。RollbackTrans方法:事務(wù)回滾處理,將已經(jīng)執(zhí)行的動(dòng)作取消,返回到事務(wù)處理前的狀態(tài)。(6)執(zhí)行存儲(chǔ)過(guò)程Connection連接對(duì)象能夠執(zhí)行存儲(chǔ)過(guò)程,基本形式就跟執(zhí)行SQL命令一樣,典型的語(yǔ)句形式如下:strSql1="execp2"DE1.Conn.ExecutestrSql1應(yīng)用舉例:例1:根據(jù)建立的某銷(xiāo)售公司銷(xiāo)售數(shù)據(jù)庫(kù),使用VisualBasic6.0建立客戶信息維護(hù)應(yīng)用程序。1.建立標(biāo)準(zhǔn)應(yīng)用程序project1項(xiàng)目,在項(xiàng)目中添加窗體Form1,Form2,模塊module1,數(shù)據(jù)連接環(huán)境DE1,參見(jiàn)圖11-5,客戶數(shù)據(jù)維護(hù)程序project1。圖11-5客戶數(shù)據(jù)維護(hù)程序2.完成數(shù)據(jù)連接。點(diǎn)擊數(shù)據(jù)連接環(huán)境中的conn對(duì)象,點(diǎn)擊右鍵選擇屬性,進(jìn)行數(shù)據(jù)連接的屬性設(shè)置,參見(jiàn)圖11-6選擇連接數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,MicrosoftOleDBProviderforSQLServer作為驅(qū)動(dòng)程序。圖11-6選擇連接數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序參見(jiàn)圖11-7,選擇數(shù)據(jù)庫(kù)服務(wù)器Beijing,選擇用戶名sa,密碼為空,允許保存密碼,允許密碼為空,選擇數(shù)據(jù)庫(kù)WWW,測(cè)試連接成功。圖11-7選擇數(shù)據(jù)庫(kù)連接服務(wù)器,用戶,密碼,數(shù)據(jù)庫(kù)3.?dāng)?shù)據(jù)環(huán)境測(cè)試后,需要打開(kāi)數(shù)據(jù)庫(kù)。設(shè)置程序的啟動(dòng)對(duì)象為SubMain()函數(shù),并在該函數(shù)中打開(kāi)數(shù)據(jù)庫(kù),并將Form1顯示出來(lái)。Submain()DE1.Conn.OpenForm1.ShowEndSub4.在窗體form1上添加4個(gè)命令按鈕,分別為查詢記錄,添加記錄,更改記錄,刪除記錄,分別完成數(shù)據(jù)記錄的查詢,添加MSFlexGrid控件,用于表格形式顯示數(shù)據(jù)記錄,添加文本框控件text1用于輸入查詢條件,設(shè)計(jì)的窗體如下圖11-8。圖11-8設(shè)計(jì)狀態(tài)窗體Form15.在窗體Form2上添加一個(gè)框架frame1,添加6個(gè)輸入數(shù)據(jù)的文本框Text1數(shù)組,添加標(biāo)簽,并添加命令按鈕2個(gè),分別完成數(shù)據(jù)確認(rèn)和取消,涉及的窗體如下圖11-9。圖11-9設(shè)計(jì)狀態(tài)的窗體Form26.編寫(xiě)完成數(shù)據(jù)表格的初始化子程序,代碼如下:PrivateSubgrid()MSFlexGrid1.Cols=6MSFlexGrid1.AllowBigSelection=TrueMSFlexGrid1.FillStyle=flexFillRepeatMSFlexGrid1.Row=0MSFlexGrid1.Col=0MSFlexGrid1.Text="客戶代碼"MSFlexGrid1.ColWidth(0)=MSFlexGrid1.Width/6MSFlexGrid1.Col=1MSFlexGrid1.Text="客戶名稱"MSFlexGrid1.ColWidth(1)=MSFlexGrid1.Width/6MSFlexGrid1.Col=2MSFlexGrid1.Text="電話"MSFlexGrid1.ColWidth(2)=MSFlexGrid1.Width/6-100MSFlexGrid1.Col=3MSFlexGrid1.Text="手機(jī)"MSFlexGrid1.ColWidth(3)=MSFlexGrid1.Width/12MSFlexGrid1.Col=4MSFlexGrid1.Text="地址"MSFlexGrid1.ColWidth(4)=MSFlexGrid1.Width/3MSFlexGrid1.Col=5MSFlexGrid1.Text="郵編"MSFlexGrid1.ColWidth(5)=MSFlexGrid1.Width/12EndSub7.編寫(xiě)查詢查詢子程序,代碼如下:PrivateSubCommand1_Click()DimiAsLongDimstrsqlAsStringDimrstAsADODB.RecordsetSetrst=NewADODB.Recordsetstrsql="select*fromcustomerwherecidlike'"+Text1.Text+"%'orcnamelike'"+Text1.Text+"%'"rst.Openstrsql,DE1.Conn,adOpenKeyset,adLockReadOnlyIfrst.RecordCount<>0ThenMSFlexGrid1.Rows=rst.RecordCount+1Fori=1Torst.RecordCountMSFlexGrid1.Row=iMSFlexGrid1.Col=0MSFlexGrid1.Text=rst.Fields("cid").ValueMSFlexGrid1.Col=1MSFlexGrid1.Text=rst.Fields("cname").ValueMSFlexGrid1.Col=2MSFlexGrid1.Text=IIf(IsNull(rst.Fields("ctel").Value),"",rst.Fields("ctel").Value)MSFlexGrid1.Col=3MSFlexGrid1.Text=IIf(IsNull(rst.Fields("cmobile").Value),"",rst.Fields("cmobile").Value)MSFlexGrid1.Col=4MSFlexGrid1.Text=IIf(IsNull(rst.Fields("caddr").Value),"",rst.Fields("caddr").Value)MSFlexGrid1.Col=5MSFlexGrid1.Text=IIf(IsNull(rst.Fields("czip").Value),"",rst.Fields("czip").Value)rst.MoveNextNextiElseMSFlexGrid1.Cols=1EndIfEndSub8.編寫(xiě)窗體的加載子程序,調(diào)用初始化表格,查詢數(shù)據(jù)列表子程序,代碼如下:PrivateSubForm_Load()gridCommand1_ClickEndSub9.編寫(xiě)表格選擇數(shù)據(jù)記錄子程序,設(shè)置一個(gè)窗體變量cid,并編寫(xiě)數(shù)據(jù)記錄選擇子程序,代碼如下:OptionExplicitDimcidAsStringPrivateSubMSFlexGrid1_Click()IfMSFlexGrid1.Row>0ThenMSFlexGrid1.Col=0cid=MSFlexGrid1.TextEndIfEndSub10.窗體Form2的程序,在Form2代碼中,增加一個(gè)窗體變量cid,用于判斷是添加記錄行為還是編輯記錄行為。窗體2的代碼如下:OptionExplicitPubliccidAsStringDimstrsqlAsStringPrivateSubCommand1_Click()DimrstAsADODB.RecordsetSetrst=NewADODB.RecordsetIfcid<>""ThenText1(0).Enabled=Falsestrsql="updatecustomersetcname='"+Text1(1).Text+"'"strsql=strsql+",ctel='"+Text1(2).Text+"'"strsql=strsql+",ctel='"+Text1(3).Text+"'"strsql=strsql+",ctel='"+Text1(4).Text+"'"strsql=strsql+",ctel='"+Text1(5).Text+"'"strsql=strsql+"wherecid='"+Text1(0).Text+"'"Elsestrsql="insertintocustomer(cid,cname,ctel,cmobile,caddr,czip)values('"+Text1(0).Text+"'"strsql=strsql+",'"+Text1(1).Text+"'"strsql=strsql+",'"+Text1(2).Text+"'"strsql=strsql+",'"+Text1(3).Text+"'"strsql=strsql+",'"+Text1(4).Text+"'"strsql=strsql+",'"+Text1(5).Text+"')"EndIfIfText1(0).Text=""OrText1(1).Text=""ThenMsgBox"客戶代碼或客戶名稱不能為空",vbOKOnlyExitSubEndIfIfcid<>""Thenstrsql="select*fromcustomerwherecid='"+Text1(0).Text+"'"rst.Openstrsql,DE1.Conn,adOpenKeyset,adLockReadOnlyIfrst.RecordCount<>0ThenMsgBox"客戶代碼重復(fù)!",vbOKOnlyExitSubEndIfEndIfDE1.Conn.ExecutestrsqlHideUnloadMeEndSubPrivateSubCommand2_Click()HideUnloadMeEndSubPrivateSubForm_Activate()DimrstAsADODB.RecordsetSetrst=NewADODB.RecordsetIfcid<>""Thenstrsql="select*fromcustomerwherecid='"+cid+"'"rst.Openstrsql,DE1.Conn,adOpenKeyset,adLockReadOnlyIfrst.RecordCount<>0ThenText1(0).Text=rst.Fields("cid").ValueText1(1).Text=rst.Fields("cname").ValueText1(2).Text=IIf(IsNull(rst.Fields("ctel").Value),"",rst.Fields("ctel").Value)Text1(3).Text=IIf(IsNull(rst.Fields("cmobile").Value),"",rst.Fields("cmobile").Value)Text1(4).Text=IIf(IsNull(rst.Fields("caddr").Value),"",rst.Fields("caddr").Value)Text1(5).Text=IIf(IsNull(rst.Fields("czip").Value),"",rst.Fields("czip").Value)EndIfEndIfEndSubPrivateSubForm_Load()Me.Left=(Screen.Width-Me.Width)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論