版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、11.1 數(shù)據(jù)庫(kù)(DateBase )的根本概念一、概念與術(shù)語(yǔ)目前幾乎所有的應(yīng)用程序都需要存放大量的數(shù)據(jù),這些大量數(shù)據(jù)一般都需要經(jīng)過(guò) 數(shù)據(jù)收集、分析后,整理成一定的組織結(jié)構(gòu),通過(guò)數(shù)據(jù)庫(kù)治理系統(tǒng)來(lái)進(jìn)行治理.數(shù)據(jù)庫(kù) 治理系統(tǒng)提供了數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)存放方式的治理水平,使程序設(shè)計(jì)人員在使用數(shù)據(jù)庫(kù)時(shí)不需要考慮數(shù)據(jù)的具體操作及數(shù)據(jù)之間的關(guān)系.數(shù)據(jù)庫(kù)是一組排列成易于處理和讀取的相關(guān)信息的集合.數(shù)據(jù)庫(kù)按其模型結(jié)構(gòu)可分為層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù).其中關(guān)系數(shù)據(jù)庫(kù)的理論開展最為完備,因此 到目前為止關(guān)系數(shù)據(jù)庫(kù)的應(yīng)用最為廣泛.Visual Basic默認(rèn)的數(shù)據(jù)庫(kù)為微軟的Access數(shù)據(jù)庫(kù),可在 Visual
2、Basic中利用數(shù)據(jù)庫(kù)治理器直接創(chuàng)立,數(shù)據(jù)庫(kù)文件的擴(kuò)展名為.MDB o除此之外, Visual Basic 還可以處理各種外部數(shù)據(jù)庫(kù),如 dBASE、FoxPro、Paradox 、Btrieve 、Microsoft Excel 、 Lotus1-2-3 、Text等格式的數(shù)據(jù)庫(kù),甚至其它非關(guān)系的數(shù)據(jù)庫(kù),VB在調(diào)用這些數(shù)據(jù)時(shí),都會(huì)自動(dòng)將其轉(zhuǎn)換為關(guān)系型的數(shù)據(jù)庫(kù)來(lái)操作.1 .數(shù)據(jù)表(Table)數(shù)據(jù)表是一組相關(guān)聯(lián)的按行與列排列的邏輯數(shù)據(jù)的集合,簡(jiǎn)稱為表.在數(shù)據(jù)庫(kù)理論 中常用來(lái)表示一個(gè)實(shí)體,每個(gè)數(shù)據(jù)表必須有一個(gè)表名,一個(gè)數(shù)據(jù)庫(kù)一般由多個(gè)數(shù)據(jù)表組 成,各個(gè)數(shù)據(jù)表之間一般應(yīng)存在某種關(guān)系.2 .字段Fi
3、eld 數(shù)據(jù)表中的每一列稱為一個(gè)字段.數(shù)據(jù)表是由其包含的所有字段構(gòu)成的,每個(gè)字段 用來(lái)描述它包含的數(shù)據(jù).在創(chuàng)立數(shù)據(jù)表時(shí),必須為每個(gè)字段起一個(gè)名稱一般稱為字段名,同時(shí)需要為每個(gè)字段分配一個(gè)數(shù)據(jù)類型、最大長(zhǎng)度和其它屬性.3 .記錄(Record )數(shù)據(jù)表中的每一行稱為一條記錄.記錄是字段值的集合,所有用戶對(duì)數(shù)據(jù)的訪問(wèn)對(duì) 象是記錄,因此,如果想對(duì)某個(gè)數(shù)據(jù)項(xiàng)進(jìn)行訪問(wèn),必須首先進(jìn)行記錄定位,嚴(yán)格的說(shuō), 在一個(gè)數(shù)據(jù)表中不允許存在兩條完全相同的記錄.4 .關(guān)鍵字(Keyword )如果數(shù)據(jù)表中某個(gè)字段值或假設(shè)干個(gè)字段值的集合能唯一確定一條記錄,那么稱該字段或字段的集合為該數(shù)據(jù)表的關(guān)鍵字.在一個(gè)數(shù)據(jù)表中,關(guān)鍵
4、字可能存在多個(gè),但需 選定其中一個(gè)作為主關(guān)鍵字.對(duì)于數(shù)據(jù)表中的每條記錄來(lái)說(shuō),主關(guān)鍵字的值必須唯一.5 .索弓I ( Index )為了提升訪問(wèn)數(shù)據(jù)庫(kù)的速度,大多數(shù)數(shù)據(jù)庫(kù)都使用索引.索引即對(duì)數(shù)據(jù)表中的某個(gè) 或幾個(gè)字段的值按某種特定的順序進(jìn)行排列.在VB中利用索引可以加快數(shù)據(jù)檢索速度.6 .結(jié)構(gòu)化查詢語(yǔ)言( SQL )SQL ( Structure Query Language )是結(jié)構(gòu)化查詢語(yǔ)言的縮寫,是數(shù)據(jù)庫(kù)中通用的數(shù)據(jù)查詢編程語(yǔ)言,它是我們?cè)L問(wèn)數(shù)據(jù)庫(kù)的一種利器.在 Visual Basic中訪問(wèn)數(shù)據(jù)庫(kù)時(shí),就可以利用 SQL同數(shù)據(jù)庫(kù)進(jìn)行通訊.二、數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)一般需要借助E- R圖進(jìn)
5、行數(shù)據(jù)建模,然后把整個(gè)E-R圖中的每個(gè)實(shí)體和有關(guān)的聯(lián)系,都轉(zhuǎn)化為關(guān)系.對(duì)每個(gè)關(guān)系再進(jìn)行標(biāo)準(zhǔn)化,最后給出各個(gè)數(shù)據(jù)表完成數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),對(duì)每個(gè)關(guān)系來(lái)說(shuō),在選定的數(shù)據(jù)庫(kù)治理系統(tǒng)下,創(chuàng)立數(shù)據(jù)庫(kù)、數(shù)據(jù)表以及它們之間的關(guān)系,并輸入數(shù)據(jù)進(jìn)行測(cè)試,完成數(shù)據(jù)庫(kù)的物理設(shè)計(jì).具體內(nèi)容請(qǐng)讀者參考相關(guān)的數(shù)據(jù)庫(kù)理論方面的書籍.11.2 Visual Basic的可視數(shù)據(jù)治理器Visual Basic所支持的不同類型的數(shù)據(jù)庫(kù)大都可以通過(guò)相應(yīng)的數(shù)據(jù)庫(kù)治理系統(tǒng)來(lái)建立,如在 MS Access中可以建立.MDB 的數(shù)據(jù)庫(kù).也可以使用Visual Basic 下的數(shù)據(jù)庫(kù)治理器來(lái)治理數(shù)據(jù)庫(kù).啟動(dòng)數(shù)據(jù)庫(kù)治理器有兩種方法:(1)在Vi
6、sual Basic 集成環(huán)境中,單擊“外接程序菜單下的“可視化數(shù)據(jù)治理器命令,即可翻開可視化數(shù)據(jù)治理器“ VisData 窗口,如圖 11 1所示.(2)直接運(yùn)行 Visual Basic 系統(tǒng)目錄中的 VisData.exe程序文件來(lái)啟動(dòng)可視化數(shù)據(jù)治理器.VisData 窗口由菜單欄、工具欄、工作區(qū)窗口與狀態(tài)欄組成,剛啟動(dòng)時(shí)其工作區(qū)窗 口為空.圖11.2-1可視化數(shù)據(jù)治理器窗口、可視數(shù)據(jù)治理器的使用使用開可視化數(shù)據(jù)治理器建立默認(rèn)數(shù)據(jù)庫(kù)一一Access數(shù)據(jù)庫(kù)的步驟如下:1 .單擊“文件菜單下的“新建菜單項(xiàng),將出現(xiàn)如圖12-2所示的選擇.單擊數(shù)據(jù)庫(kù)類型菜單中的Access將出現(xiàn)版本子菜單,在版
7、本菜單中選擇要?jiǎng)?chuàng)立的數(shù)據(jù)庫(kù)版本后,出現(xiàn)如圖113所示的窗口.圖11.2 - 2 “文件菜單下的“新建子菜單圖11.2 - 3創(chuàng)立數(shù)據(jù)庫(kù)窗口2.單擊“保存按鈕后,將會(huì)出現(xiàn)如圖11.2 - 4所示的窗口.京件中 M用程殍4. 峙的也1Kjfl.冷曲圖11,2 - 4數(shù)據(jù)庫(kù)窗口與 SQL語(yǔ)句窗口3 .右擊數(shù)據(jù)庫(kù)窗口,出現(xiàn)如圖 1.2 5所示的窗口圖11 5數(shù)據(jù)庫(kù)窗口4 .單擊“新建表按鈕,即可翻開如圖11.26康畸施類型:|L國(guó)空儂所示 窗口 即可 新建 表.索引列費(fèi)如:稅味引工) 珊除索引中.看加字笈刪窿字葭堪破喧百:S 和:I1r至里r北4r處工目廠小塞兇廠二.星空僖字段: 感謝下載載關(guān)閉
8、63;)圖11,2 - 6表結(jié)構(gòu)窗口5.然后單擊“添加字段按鈕,可建立各個(gè)字段的屬性,最后單擊“新建表按鈕, 即可建立起表結(jié)構(gòu).有了表結(jié)構(gòu)后就可對(duì)表進(jìn)行數(shù)據(jù)的添加、修改和刪除等操作.11.3 ADO 數(shù)據(jù)控件、編寫一個(gè)簡(jiǎn)單數(shù)據(jù)庫(kù)程序首先介紹 Visual Basic 所提供的兩個(gè)控件ADO Data Control 簡(jiǎn)稱ADODC和DataGrid處理數(shù)據(jù)庫(kù)程序的方法.ADO Data Control 和DataGrid者B屬于ActiveX控件,它們?cè)谑褂们靶枰葘⑵涮砑拥焦ぞ呦渲?以便在工程中使用.單擊“工程 /部件菜單項(xiàng),翻開“部件對(duì) 話框,選定所需要的控件并確定,即可將其添加的工具箱中
9、,如圖11.3 -1所示.圖11.31添力口 ADODC 與DataGrid 控件到工具箱在窗體上添加 ADODC 與DataGrid 控件,如圖118所示,然后右擊 ADODC 控件,選擇其快捷菜單下“ ADODC屬性那么翻開如圖 119所示的界面.圖11.3 2窗體窗口圖11.3 3屬性頁(yè)窗口在上圖中,單擊生成“按鈕,那么翻開如圖11.3 -4所示的數(shù)據(jù)鏈接屬性窗口vi <1 上11 力 Pa- 0b. d «>- Pl= - -Vi d«ir第虻nid*小口城!i d.i*F 雄1«154膻Ktt|UhN«di «r
10、1;i.HTJE OB FroM-.b ,! -J . H .,lUJ! "I?.M.11nci db獨(dú)j w比力耳心里1 mH 1 j UJJ5 iwM l &r 曰 h Z 比 M it cr o sot t M i ar «-j soft M i tzi o auEt M b <tf ft m r q M * i=X- fi BC f t M K上量M iit n C干M x «- q 工 0 E *.M 1 ei Q 1口UL口 Ln U 力 r- t .J|后口口 B11 atlrlDu&加ri,D門O DTJT rrovl rro
11、¥-i ST it 口W i Fm Frcvi. r* *ri f*1-Fhuvi 3 i"ip 1UB dl«rU工 d«-r WK ,L*上 4-iVPFrj isvi(1For Li«i_4 Mi nine: 5«rvi for Znri«x i he S*rvi c* 工口 t"工上iL-jrbl F ubX 1 Ah.1 EiE 3?nr 11NIC Pri vari fox- CL-MK -ar-vii a« > O 工廿上 U上f Ua * l-l I b t I c< k 胃,
12、 -i Eh 壬HX- EQL- W.E-WE-"F>>圖11.3 4數(shù)據(jù)鏈接屬性窗口在圖11.3 -4中選中“ Microsoft Jet 3.51 OLE DB Provider ,單擊下一步按鈕,進(jìn)入如圖11.3 5所示的數(shù)據(jù)鏈接屬性窗口.【注】Microsoft Jet 3.51 OLE DB Provider只能翻開 Access97 下的數(shù)據(jù)庫(kù),不能打開Access2000 及以上版本的數(shù)據(jù)庫(kù),如要翻開Access2000 下的數(shù)據(jù)庫(kù),那么必須選用Jet 4.0 ,否那么系統(tǒng)會(huì)出錯(cuò).圖11.3 5數(shù)據(jù)鏈接屬性窗口在圖11.3 -5中,單擊“按鈕,選擇所要翻開的
13、數(shù)據(jù)庫(kù)文件后確定,即可單擊“測(cè)試連接按鈕,測(cè)試是否連接成功.如果測(cè)試連接成功,那么單擊“確定按鈕后,返回圖11.3 -2【注】如果數(shù)據(jù)庫(kù)文件與工程文件保存在同一個(gè)文件夾下,那么可把上圖所示的文件xjgl.mdb前的字符刪除,這樣生成的程序,在復(fù)制到其它計(jì)算機(jī)上后不需重新對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接即可運(yùn)行.通過(guò)以上步驟,我們只是完成了 ADODC控件的Connectionstring屬性設(shè)置,其值如下:Provider=Microsoft.Jet.OLEDB.3.51;Data Source=e:xjglxjgl.mdb;Persist Security Info=False該屬性由三個(gè)參數(shù)組成:參數(shù)參數(shù)
14、值意義IProviderMicrosoftyjet.OLEDE.3.51OLE DE驅(qū)動(dòng)程序Persist Security InfoFALSE是否保存密碼Data Sourcee:xiRlxiKl.mdb數(shù)據(jù)源然后把 ADODC 控件的CommandType 屬性設(shè)置為 adCmdTable ,接著單擊RecordSource 屬性,可以看到數(shù)據(jù)庫(kù)xjgl.mdb 下的所有數(shù)據(jù)表,單擊"根本情況表".再選定DataGrid 控件,只需把DataSource 設(shè)置為ADODC控件即可,完成程序設(shè)計(jì).運(yùn)行該程序即可對(duì)數(shù)據(jù)庫(kù) xjgl.mdb 下的“根本情況表進(jìn)行瀏覽.然后把
15、DataGrid 控件的AllowAddNew屬性設(shè)置為 True、AllowDelete 屬性設(shè)置 為True、AllowUpdate 屬性設(shè)置為True ,再次運(yùn)行該程序,即可對(duì)“根本情況表進(jìn)行添加、刪除與修改數(shù)據(jù)操作,到目前為止沒(méi)有書寫一行代碼,就已完成程序設(shè)計(jì).二、數(shù)據(jù)庫(kù)文件與 ADODC、DataGrid 的關(guān)系1 . ADODC與數(shù)據(jù)庫(kù)文件的關(guān)系數(shù)據(jù)庫(kù)文件是一種格式十分復(fù)雜的文件,對(duì)任何一個(gè)程序員來(lái)說(shuō),如果想自行解析文件格式進(jìn)而存取數(shù)據(jù)庫(kù)中的內(nèi)容, 都是一件十分困難的事情. 因此VB提供了 ADODC控件,其功能是 進(jìn)行數(shù)據(jù)庫(kù)文件結(jié)構(gòu)分析, 并且根據(jù)程序?qū)?lái)可能操作數(shù)據(jù)庫(kù) 如:讀取
16、、寫入、新增、刪除等, 建立必要的操作接口包含屬性、方法和事件,然后封裝成為一個(gè)控件.對(duì)數(shù)據(jù)庫(kù)程序而言,如果通過(guò)ADODC控件來(lái)存取數(shù)據(jù),那么不必了解數(shù)據(jù)庫(kù)文件格式,只要通過(guò)ADODC所提供的操作接口,即可到達(dá)存取數(shù)據(jù)庫(kù)的目的.數(shù)據(jù)庫(kù)程序、ADODC控件與數(shù)據(jù)庫(kù)文件三者之間的關(guān)系用下列圖表示:ADODC圖11.36數(shù)據(jù)庫(kù)文件與 ADODC控件的關(guān)系2 . DataGrid 與ADODC之間的關(guān)系雖然ADODC控件具有存取數(shù)據(jù)庫(kù)數(shù)據(jù)的水平,但卻沒(méi)有提供顯示數(shù)據(jù)的功能,如果想要顯示數(shù)據(jù)庫(kù)的內(nèi)容,除了利用ADODC來(lái)讀取數(shù)據(jù)之外,還得編寫顯示數(shù)據(jù)的程序.1利用DataGrid來(lái)顯示數(shù)據(jù)要使用Data
17、Grid 來(lái)顯示數(shù)據(jù)庫(kù)內(nèi)容必須設(shè)置好它的DataSource 屬性,這個(gè)屬性的作用是讓DataGrid 控件與ADODC控件產(chǎn)生連接關(guān)系,也就是告訴 DataGrid控件它所存取的是哪 一個(gè)ADODC所翻開的數(shù)據(jù)庫(kù),接著DataGrid就會(huì)自動(dòng)使用 ADODC的接口,將數(shù)據(jù)庫(kù)的內(nèi)容顯示出來(lái).其關(guān)系如圖11.37:DataGnd件方法數(shù)據(jù)庫(kù) 文件ZZE事件數(shù)據(jù)庫(kù)程序圖11.3 -7 DataGrid 與ADODC 控件的關(guān)系2關(guān)鍵屬性和參數(shù)總結(jié)ADODC控件的屬性及參數(shù):1ConnectionString連接字符串屬性:該屬性有兩個(gè)重要參數(shù)Provider 和Data SourceProvide
18、r參數(shù):Provider是OLE DB Provider的簡(jiǎn)稱,其主要用途在于指定存取數(shù)據(jù)庫(kù)所使用的 OLE DB 驅(qū)動(dòng)程序.如 “ Microsoft Jet 3.51 OLE DB Provider .Data Source 數(shù)據(jù)源參數(shù):此參數(shù)通常用來(lái)指定數(shù)據(jù)庫(kù)文件的完整路徑和文件名.有了此參數(shù),ADODC控件才能翻開指定的數(shù)據(jù)庫(kù)文件.2CommandType 命令類型屬性:共有四個(gè)值:adCmdTable 數(shù)據(jù)表、adCmdText 指令、adCmdStoredProc存儲(chǔ)過(guò)程、 adCmdUnknown未定義.3RocordSoure 記錄源屬性:指定確定的表.DataGrid 控件的
19、屬性:1DataSource數(shù)據(jù)源屬性:由于 DataGrid 控件并不直接存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),因此必須將其屬性設(shè)置成某一個(gè)ADODC控件,DataGrid控件才能具備存取數(shù)據(jù)庫(kù)的水平.AllowAddNew允許新增屬性:假設(shè)允許用戶新增數(shù)據(jù),須將此屬性設(shè)置為True.3AllowDelete 允許刪除屬性:假設(shè)允許用戶新增數(shù)據(jù),須將此屬性設(shè)置為True.(4)AllowUpdate( 允許更新)屬性:此屬性的默認(rèn)值為True.三、Visual Basic 中與數(shù)據(jù)庫(kù)中相關(guān)的對(duì)象就像數(shù)據(jù)庫(kù)是有組織結(jié)構(gòu)的一樣,VB所提供的數(shù)據(jù)庫(kù)對(duì)象也是有組織的,而且與數(shù)據(jù)庫(kù)的組織結(jié)構(gòu)有著很好的對(duì)應(yīng)關(guān)系.1 .F
20、ield對(duì)象與字段字段是數(shù)據(jù)庫(kù)中最小的數(shù)據(jù)單位.在VB所提供的對(duì)象中,與字段對(duì)應(yīng)的對(duì)象是Field ,我們從Field對(duì)象的以下屬性可以得知字段的相關(guān)信息:Name屬性:字段的名稱Value屬性:字段的數(shù)據(jù)Name屬性Field對(duì)象學(xué)號(hào)姓名年齡1001張三18Value屬性2 .Fields集合對(duì)象與數(shù)據(jù)記錄對(duì)VB所提供的對(duì)象而言,Field對(duì)象的集合構(gòu)成 Fields集合對(duì)象,所以Fields集合對(duì)象可 以視為與數(shù)據(jù)庫(kù)記錄對(duì)應(yīng)的對(duì)象.Fields對(duì)象編號(hào):012Fields(0) Fields(1) Fields(2)共同構(gòu)成Fields集合對(duì)象由于Fields是一個(gè)集合對(duì)象,所以可以利用
21、Count屬性得知某一個(gè)Fields集合對(duì)象中的Field對(duì)象的數(shù)目,并可利用下面的方法顯示集合中的Field對(duì)象的內(nèi)容,如:For i=0 to fds.Count-1' fds 為一個(gè) Fields 集合對(duì)象Debug.Print fds(i).Name'顯示字段名稱Debug.Print fds(i).Value'顯示字段數(shù)據(jù)內(nèi)容Next3 .Recordset 對(duì)象與數(shù)據(jù)記錄集合Visual Basic中與數(shù)據(jù)表對(duì)應(yīng)的對(duì)象稱為 Recordset對(duì)象,先介紹"當(dāng)前數(shù)據(jù)記錄的概 o1由于數(shù)據(jù)庫(kù)無(wú)法將整個(gè)數(shù)據(jù)表完全裝入到內(nèi)存中,因此便規(guī)定程序每次只能存取一
22、條記錄,此記錄數(shù)據(jù)就稱為“當(dāng)前記錄數(shù)據(jù).注:雖然程序每次只能存取當(dāng)前記錄數(shù)據(jù),但并不表示數(shù)據(jù)庫(kù)每次只裝入一條記錄數(shù)據(jù),為了提升執(zhí)行效率,數(shù)據(jù)庫(kù)每次會(huì)裝入一大段記錄數(shù)據(jù),但程序存取的動(dòng)作還是以一條為單位.2利用Recordset對(duì)象改變當(dāng)前記錄數(shù)據(jù)的方法程序運(yùn)行后當(dāng)前記錄數(shù)據(jù),將定位于第一條記錄.假設(shè)要改變當(dāng)前記錄,程序必須調(diào)用Recoedset對(duì)象的方法改變當(dāng)前數(shù)據(jù)記錄,方可存取每一條數(shù)據(jù)記錄,進(jìn)而到達(dá)存取整個(gè)數(shù)據(jù)表的功能.下表為 Recoedset對(duì)象的幾個(gè)常用方法.方法說(shuō)明MoveNext將當(dāng)前數(shù)據(jù)記錄移到下一條MovePrevious將當(dāng)前數(shù)據(jù)記錄移到上一條MoveFirst將當(dāng)前數(shù)據(jù)記
23、錄移到第一條MoveLast將當(dāng)前數(shù)據(jù)記錄移到A條EOF當(dāng)前數(shù)據(jù)記錄是否在最后-條之后BOF當(dāng)前數(shù)據(jù)記錄是否在第一條之前如圖11.3 8為Visual Basic 中幾個(gè)對(duì)象間的關(guān)系11.3 -8 ADODC、Recordset、Fields、Field 幾個(gè)對(duì)象關(guān)系圖在上圖中位于下方的稱為上方對(duì)象的子對(duì)象.假設(shè)要存取某一個(gè)對(duì)象,必須從最上層的父對(duì)象向下指定對(duì)象的路徑.如:AdodcI.RecordsetAdodcI.Recordset.FieldsAdodcl.Recordset.Fields(i)11.4 Recordset 對(duì)象Recordset 對(duì)Recordset 對(duì)象是數(shù)據(jù)記錄的集
24、合,而數(shù)據(jù)記錄又是字段的集合,因此利用Recordset 對(duì)象是存取象,在程序中就可以存取所有數(shù)據(jù)記錄的每一個(gè)字段的數(shù)據(jù)了,所以說(shuō)數(shù)據(jù)庫(kù)數(shù)據(jù)最重要的源頭.在數(shù)據(jù)庫(kù)的程序設(shè)計(jì)中,Recordset對(duì)象是最為重要的對(duì)象.一、Recordset 與數(shù)據(jù)表的存取前面介紹幾個(gè)改變 Recordset 對(duì)象的當(dāng)前數(shù)據(jù)記錄的方法MoveNext 、MovePrevious 、MoveFirst、MoveLast方法,通過(guò)這幾個(gè)方法就可以存取整個(gè)數(shù)據(jù)表的數(shù)據(jù).其關(guān)系可用圖1115來(lái)表不'.MoveFirstMovePreviousMoveNextMoveLastIIIRecordset 對(duì)象數(shù)據(jù)表當(dāng)前
25、記錄以 Recordset.Fields 來(lái)存取圖11.4 1 Recordset對(duì)象與數(shù)據(jù)表之間的關(guān)系如程序:for I=0 to Adodc1.Recordset.Fields.Count-1Debug.Print Adodc1.Recordset.Fields(i).ValueNext1.防止沒(méi)有當(dāng)前數(shù)據(jù)記錄的錯(cuò)誤利用MovePrevious 、MoveNext 移到記錄指針時(shí),應(yīng)注意移過(guò)頭現(xiàn)象發(fā)生.所謂移過(guò)頭 是指:指針位于第一天記錄時(shí),調(diào)用MovePrevious 方法.指針位于最后一條記錄時(shí),調(diào)用Monenext 方法.我們可以利用 Recordset對(duì)象的EOF或BOF屬性,來(lái)加
26、以判斷.BOF及EOB屬性的應(yīng)用:AdodcI.Recordset.MoveFirstWhile Not Adodc1.Recordset.Eofs=For I=0 to Adodc1.Recordset.Fields.Count-1s=s & Adodc1.Recordset.Fields(i).Value & vbTabNextList1.Additem sAdodc1.Recordset.MoveNextWendAdodcI.Recordset.MoveNextWhile Not Adodc1.Recordset.Bofs=For I=0 to Adodc1.Record
27、set.Fields.Count-1s=s & Adodc1.Recordset.Fields(i).Value & vbTabNextList1.Additem sAdodc1.Recordset.MovePreviousWend2.存取字段數(shù)據(jù)的幾種各數(shù)1)Adodc1.Recordset.Fields(i).Value如:Adodc1.Recordset.Fields(0).Value2)Adodc1.Recordset.Fields( 字段名稱).Value 如:Adodc1.Recordset.Fields( “學(xué)號(hào)).Value3.省略.Value的語(yǔ)句如:Adod
28、c1.Recordset.Fields("股票代號(hào)")4.省略.Fields的語(yǔ)句如:Adodc1.Recordset("股票代號(hào)")5.Recordset !字段名稱 字段名稱不能加引號(hào)【注】Recordset"字段名稱最容易書寫.二、Recordset與數(shù)據(jù)記錄的增刪修改在前面我們使用 DataGrid 控件的AllowAdd 屬性和AllowDelete 屬性設(shè)置為 True ,使它 具有修改、增加和刪除數(shù)據(jù)的功能.但大批數(shù)據(jù)的處理使用該方法不方便,下面介紹Recordset對(duì)象修改、增加和刪除數(shù)據(jù)的方法.1 .刪除數(shù)據(jù)記錄首先要將欲刪除
29、的記錄置為當(dāng)前記錄,然后調(diào)用Recordset.Delete方法進(jìn)行刪除.如:Adodc1.Recordset.MoveLastAdodc1.Recordset.Delete刪除多條記錄時(shí),在Delete方法后加上 DoEvents 語(yǔ)句.2 .修改數(shù)據(jù)記錄修改數(shù)據(jù)記錄分兩步走,先把數(shù)據(jù)寫到緩沖區(qū),然后再寫入數(shù)據(jù)庫(kù).數(shù)據(jù)寫入可調(diào)用 Recordset.Update方法和使用 Move方法.其具體過(guò)程如下:方法一:Adodc1.Recordset"字段名稱1"=字段新值A(chǔ)dodc1,Recordset"字段名稱 2"=字段新值A(chǔ)dodcI.Recordse
30、t.Update方法二:Adodc1.Recordset"字段名稱1"=字段新值A(chǔ)dodc1.Recordset"字段名稱 2"=字段新值A(chǔ)dodc1.Recordset.MoveNextCancelUpdate 方法:取消更新的數(shù)據(jù)除了調(diào)用Update方法或改變當(dāng)前數(shù)據(jù)記錄的位置來(lái)使要更新的數(shù)據(jù)立即寫入到數(shù)據(jù)庫(kù)中 之外,Recordset對(duì)象也允許在修改數(shù)據(jù)記錄之后,數(shù)據(jù)尚未寫入數(shù)據(jù)庫(kù)之前,將更新的數(shù)據(jù) 撤消,讓表中的數(shù)據(jù)恢復(fù)原狀,此時(shí)調(diào)用的方法是CancelUpdate 方法.3 .新增數(shù)據(jù)記錄新增數(shù)據(jù)記錄是先建立一個(gè)緩沖區(qū),并將此緩沖區(qū)設(shè)置為當(dāng)前記
31、錄,然后就可以像修改記錄的數(shù)據(jù)一樣,修改當(dāng)前記錄的內(nèi)容.最后,如果確定要新增該條記錄數(shù)據(jù),就調(diào)用Update方法或移動(dòng)當(dāng)前數(shù)據(jù)記錄將數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)中;如果要取消新增的記錄數(shù)據(jù)的操作,就調(diào)用 CancelUpdate 方法,其新增記錄數(shù)據(jù)的語(yǔ)句大致如下:AdodcI.Recordset.AddNewAdodc1,Recordser "字段名稱1"="新的字段值1"Adodc1.Recordser "字段名稱2"="新的字段值 2" Adodc1.Recordset.Update 或 Adodc1.Recordset
32、.CancelUpdate 三、Recordset 與數(shù)據(jù)記錄的檢索1 .檢索數(shù)據(jù)記錄的方法1Find方法格式:Recordset.Find Criteria,SkipRows,SearchDirection,Start參數(shù)1 : Criteria :檢索記錄數(shù)據(jù)的表達(dá)式.如:"語(yǔ)文 >85 ".該參數(shù)的變化相當(dāng)多,稍 后進(jìn)一步說(shuō)明.參數(shù)2: SkipRows :跳過(guò)幾條記錄開始檢索.可省略,假設(shè)省略其默認(rèn)值為0,表示從第條記錄開始.參數(shù) 3 : SearchDirection :檢索的方向.可以是 adSearchForward 或 adSearchBackward
33、 可以省略,假設(shè)省略表示向下檢索.參數(shù)4: Start :開始檢索的位置.可省略,假設(shè)省略表示從當(dāng)前數(shù)據(jù)記錄開始檢索.2檢索結(jié)果與當(dāng)前記錄如果調(diào)用Find方法后找到符合要求的記錄數(shù)據(jù),那么當(dāng)前記錄將移至被找到的記錄,否那么當(dāng)前記錄數(shù)據(jù)變成不存在.可利用Recordset對(duì)象的BOF、EOF屬性進(jìn)行判斷.2 .檢索數(shù)據(jù)記錄的表達(dá)式在Find方法的參數(shù)中,變化最多的是Criteria參數(shù),在此作進(jìn)一步的討論1表達(dá)式的根本格式“字段名稱比擬運(yùn)算符比擬的數(shù)據(jù)2表達(dá)式的字段名稱表達(dá)式=字段名稱比擬符號(hào)比擬的數(shù)據(jù)1表達(dá)式中的“字段名稱必須是數(shù)據(jù)表中已存在的字段名稱如果字段名稱中含有空格字符,那么字段名稱前
34、后必須加3表達(dá)式之“比擬的數(shù)據(jù)表達(dá)式=字段名稱比擬符號(hào)比擬的數(shù)據(jù)比擬的數(shù)據(jù)是常量比擬的數(shù)據(jù) 按數(shù)據(jù)類型可分為“數(shù)值、“日期時(shí)間和“字符串三種類型.數(shù)據(jù)類型表達(dá)式數(shù)值“語(yǔ)文>85 字符串“姓名=,張三,日期數(shù)據(jù)“出生日期 >#1975/7/1#"2比擬的數(shù)據(jù)是變量設(shè)v為數(shù)值:"字段名稱比擬符號(hào) " & vv為日期數(shù)據(jù):“字段名稱比擬符號(hào)#" & v &“#v為字符串:"字段名稱比擬符號(hào)& v4表達(dá)式之“比擬符號(hào)表達(dá)式=字段名稱 比擬符號(hào)比擬的數(shù)據(jù)VB程序中的比擬符號(hào)包含 =、=、=均可用于記錄數(shù)據(jù)的比擬
35、.此外, Like 比符號(hào)也可用于比擬表達(dá)式中.其格式:字段名稱Like比擬的字符串該表達(dá)式用于字符串?dāng)?shù)據(jù)的“近似"Like比擬,其中“比擬的字符串 局部可以包含“%、""或“ _"下劃線通配符.如:“姓名 Like '張' 11.5 Data-Aware數(shù)據(jù)識(shí)別控件前面介紹了兩種存取數(shù)據(jù)的方法:使用Recordset對(duì)象和DataGrid 控件.經(jīng)過(guò)比擬容易發(fā)現(xiàn)DataGrid 控件比Recordset 對(duì)象簡(jiǎn)便得多.像DataGrid 控件一樣具有自動(dòng)顯示和更新數(shù)據(jù)功能的控件,稱為 Data-Aware數(shù)據(jù)識(shí)別 控件簡(jiǎn)稱數(shù)據(jù)識(shí)別控件.
36、在Visual Basic中,除了 DataGrid 控件外,數(shù)據(jù)識(shí)另J還有 Label、 TextBox、CheckBox、ListBox、ComboBox、Image、PictureBox、MonthView 、DTPicker、 DataList、DataCombo等控件.如能充分運(yùn)用,就可在數(shù)據(jù)庫(kù)程序的設(shè)計(jì)中游刃有余了.一、數(shù)據(jù)識(shí)別控件的根本概念數(shù)據(jù)識(shí)別控件分為兩類:表格式和單欄式.表格式指DataGrid 控件.單欄式是指每次只能存取當(dāng)前數(shù)據(jù)記錄的某個(gè)字段的數(shù)據(jù).單欄式控件必須設(shè)置兩個(gè)屬性: DataSource屬性設(shè)置為ADODC控件的名稱和DataField數(shù)據(jù)字段屬性設(shè)置為某一
37、個(gè)字段名.二、數(shù)據(jù)識(shí)別控件的選擇數(shù)據(jù)識(shí)別控件適應(yīng)的數(shù)據(jù)字段Label只讀的文本字段TextBox一般性文字字段,包含文本.數(shù)值CheckBoxBoolean字段,如“是否、“真假等ComboBox 、ListBox列表式的字段Image、PictureBox圖片字段DTPicker、MonthView日期類型字段三、舉例DTPicker控件的使用單擊“工程/部件翻開部件對(duì)話框,選定 Microsoft ADO Data Control6.0(OLEDB) 和Microsoft Windows Common Controls-2 6.0,把 ADODC 和 DTPicker 控件添加到工具箱,布
38、置窗體如圖1111所示,把ADODC控件連接到xjgl.mdb 下的“根本情況表,把Text1-Text5 依次學(xué)號(hào)、姓名、性別、成分和籍貫字段進(jìn)行綁定,DTPicker控件與出生日期字段進(jìn)行綁定,運(yùn)行該程序并單擊DTPicker控件即出現(xiàn)圖1116界面,即可對(duì)出生日期字段的值進(jìn)行修改.圖11.5 1 DTPicker 控件的使用11.6 結(jié)構(gòu)化查詢語(yǔ)言(SQL)SQL簡(jiǎn)介1 . SQL概念SQL(Structured Query Language ,結(jié)構(gòu)化查詢語(yǔ)言)是要求數(shù)據(jù)庫(kù)操作其數(shù)據(jù)的語(yǔ)句,它 是專門為數(shù)據(jù)庫(kù)設(shè)計(jì)出來(lái)的語(yǔ)言,比一般的程序語(yǔ)言簡(jiǎn)單.SQL語(yǔ)言主要分成兩局部:DDL(Data
39、Definition) 和DML(Data Manipulation Language) .其中DDL是建立數(shù)據(jù)表和字段的語(yǔ)句集, 而DML那么是操作記錄數(shù)據(jù)的語(yǔ)句集.2 . SQL根本格式Select - From Select學(xué)號(hào),姓名,籍貫 From 根本情況3 .利用 VB下達(dá)Select語(yǔ)句CommandType 屬性:1-adCmdTextRecordSource( 記錄源)屬性:Select學(xué)號(hào),姓名,籍貫 From 根本情況表使用SQL顯示xjgl.mdb 下"根本情況表的步驟:1) 添加 Microsoft ADO Data Control6.0(OLEDB) 和
40、Microsoft DataGrid Control6.0 (OLEDB)到窗體,將 ADODC 連接到數(shù)據(jù)庫(kù) xjgl.mdb .2)設(shè)置ADODC 控件的RecordSource 屬性,如圖11.61所示.單擊確定按鈕.3)將DataGrid 控件的DataSource 屬性設(shè)置為 ADODC 控件.運(yùn)行程序,即可得到如圖11.6 -2所示的結(jié)果.圖11.6 1 SQL的使用圖11.62 SQL運(yùn)行結(jié)果、Select語(yǔ)法簡(jiǎn)介1.根本語(yǔ)法一:Select字段列表 From數(shù)據(jù)表1字段列表的變化一如果字段列表涵蓋數(shù)據(jù)表中的所有字段,那么可用“*代表.如:select * from根本情況(2)
41、as語(yǔ)法字段列表還可以是別名.如:字段名 1 as別名1 ,字段名2 as別名22字段列表的變化二除了字段名可以成為 Select語(yǔ)句的字段列表外,用字段名稱組合出的表達(dá)式,也可成為字段列表成員.如:select學(xué)號(hào),姓名,語(yǔ)文,英語(yǔ),數(shù)學(xué),語(yǔ)文+英i+ +數(shù)學(xué)as總分from 成績(jī)3字段列表的變化三在Select中只要是符合 VB規(guī)那么的表達(dá)式都可以用來(lái)定義新字段.如:select right 學(xué)號(hào),2 as編號(hào),姓名,數(shù)學(xué) from 成績(jī)2 .根本語(yǔ)法二: select -fromwhere 篩選表達(dá)式如果只想篩選出局部數(shù)據(jù),就可增加Where表達(dá)式1篩選表達(dá)式的變化篩選表達(dá)式中可使用=、
42、=、=等運(yùn)算符,也可使用and、or、not邏輯運(yùn)算符和Like近似比擬運(yùn)算符.(1)字符串的近似(Like)選取select * from 成績(jī) where 姓名 like '王'(2)%與_的區(qū)別2)其它的where篩選表達(dá)式除使用以上運(yùn)算符外,還可使用以下一些運(yùn)算符:(1)where字段名稱 between 值 1 and 值 2where 字段名稱 not between 值 1 and 值 2(2)where字段名稱in(值1 ,值2,)集合運(yùn)算(3)where字段名稱 is Null 與 where 字段名稱 is not Null如果某一筆記錄的某一字段并未輸入任
43、何數(shù)據(jù),那么該字段就為Null字段.上面的篩選表達(dá)式可以挑出某一字段為Null或非Null的記錄數(shù)據(jù).3)VB函數(shù)的使用其實(shí)VB函數(shù)也可用于 where篩選表達(dá)式,如:select * from 成績(jī)單 where mid( 姓名,2, 1)='小'3 .根本語(yǔ)法三:select from order by字段列表1單字段排序Order By子句主要對(duì)最終輸出結(jié)果進(jìn)行排序,這有助于數(shù)據(jù)的瀏覽與查閱.如:Select * from 成績(jī) order by 語(yǔ)文2多字段排序如:Select * from 成績(jī) order by 語(yǔ)文,英語(yǔ),數(shù)學(xué)3排序方式asc 默認(rèn)升序 deac降
44、序4select top:限定選取數(shù)據(jù)記錄的條數(shù)如:select * from 成績(jī) order by語(yǔ)文+英語(yǔ)+數(shù)學(xué) descselect top 10 * from 成績(jī) order by語(yǔ)文+英語(yǔ)+數(shù)學(xué) desc'取前十條select top 10 percent * from 成績(jī) order by 語(yǔ)文 + 英語(yǔ) + 數(shù)學(xué) 'desc 取百分比三、動(dòng)態(tài)執(zhí)行Select語(yǔ)句的技巧前面已經(jīng)介紹利用 Recordset 對(duì)象的Find方法進(jìn)行數(shù)據(jù)的查找.對(duì)SQL而言,"where 篩選表達(dá)式中的“篩選表達(dá)式",與 Find方法的“搜尋數(shù)據(jù)的表達(dá)式在功能上
45、十分類似.但Find方法對(duì)數(shù)據(jù)進(jìn)行逐條比擬,數(shù)據(jù)量較大時(shí),效率很低.因此,可先用SQL語(yǔ)句篩選符號(hào)條件的記錄,然后再進(jìn)行Find方法查找.1 .動(dòng)態(tài)執(zhí)行Select語(yǔ)句的技巧要想動(dòng)態(tài)執(zhí)行某一Select語(yǔ)句,程序必須如下:Adodc1.CommandType=adCmdTextAdodc1.RecordSource=Select 語(yǔ)句Adodc1.Refresh2 .動(dòng)態(tài)組合SQL語(yǔ)句的考前須知字符型數(shù)據(jù):select * from數(shù)據(jù)表 where 字段名稱='"& Text1.Text &"日期型數(shù)據(jù):select * from數(shù)據(jù)表where字
46、段名稱="& Text1.Text &""數(shù)值型數(shù)據(jù):select * from數(shù)據(jù)表where字段名稱="& Text1.Text3 . Where篩選表達(dá)式與 Find表達(dá)式的差異1 .Where篩選表達(dá)式可使用邏輯運(yùn)算符and、or、not , Find表達(dá)式不能使用邏輯運(yùn)算符.2 .Where 篩選表達(dá)式中的 Between - And 和Is Null/Is Not Null均無(wú)法在 Find中使用.3 .Where篩選表達(dá)式中可以使用 VB函數(shù),而Find表達(dá)式中是不能使用的.11.7 ADO (Active Data
47、 Objects )對(duì)象模型我們前面一直使用 ADODC和其它數(shù)據(jù)識(shí)別控件來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)程序.為了打好數(shù)據(jù)庫(kù)根底,Visual Basic 數(shù)據(jù)庫(kù)最核心'的對(duì)象群 -Active Data Objects (簡(jiǎn)稱ADO )就是我們必須要掌 握的,如圖 11 19.圖 11.7-1 ADO 對(duì)象結(jié)構(gòu)圖、ADO的首次使用比照?qǐng)D11.38中可以看出 ADO比 ADODC控件復(fù)雜一點(diǎn),實(shí)際上它們的概念是一致的在ADO對(duì)象結(jié)構(gòu)圖中可以發(fā)現(xiàn)一個(gè)熟悉的名字一Recordset ,它與我們前面使用的Recordset(ADODC 的屬性)是相同的對(duì)象.先看一個(gè)ADO翻開數(shù)據(jù)庫(kù)的例子:Dim conn A
48、s New ADODB.ConnectionDim rs As New ADODB.RecordsetPrivate Sub Form_Load()Dim ConnStr As StringConnStr = "Provider=Microsoft.Jet.OLEDB.3.51;" & _"Data Source=f:兇glxjgl.mdb"conn.Open ConnStrrs.CursorLocation = adUseClientrs.Open " 根本情況表 ", conn, adOpenKeyset, adLockP
49、essimisticEnd SubPrivate Sub Command1_Click()' 顯示 Recordset的所有記錄數(shù)據(jù)Dim S As String, i As Integerrs.MoveFirstListl.ClearWhile Not rs.EOFS=""For i = 0 To rs.Fields.Count - 1S=S & rs.Fields(i).Value & vbTabNextList1.AddItem Srs.MoveNextWendEnd Sub在以上程序中,使用了 MoveFirst、EOF、MoveNext 方
50、法和Fields子對(duì)象,使用這些方法和Fields子對(duì)象的對(duì)象不再是Adodc1.Recordset 對(duì)象,而是rs對(duì)象.1 .翻開數(shù)據(jù)庫(kù)表我們?cè)倏匆幌律厦娣_數(shù)據(jù)庫(kù)的語(yǔ)句:ConnStr = "Provider=Microsoft.Jet.OLEDB,3.51;" & _"Data Source=e:兇glxjgl.mdb"conn.Open ConnStrrs.CursorLocation = adUseClientrs.Open "根本情況表",conn,adOpenKeyset,adLockPessimistic其主要
51、由三局部組成:Provider參數(shù):用來(lái)指定 OLE DB驅(qū)動(dòng)程序.DataSource 參數(shù):用來(lái)指定數(shù)據(jù)庫(kù)的來(lái)源,它與 Provider參數(shù)合起來(lái)構(gòu)成"連接字符串.股票行情表:出現(xiàn)在 rs.Open方法的參數(shù),用來(lái)指定想要翻開的數(shù)據(jù)表.結(jié)論:通過(guò)比擬我們發(fā)現(xiàn)前面兩個(gè)例子翻開數(shù)據(jù)庫(kù)的方法幾乎是一樣的,ADODC控件仍調(diào)用ADO所提供的方法來(lái)翻開數(shù)據(jù)庫(kù)表.2 .使用ADO對(duì)象之前在使用ADO對(duì)象之前,必須先利用 VB菜單的“工程/引用來(lái)引用“Microsoft Active Data Objects 2.0 Library ,如圖 1120 所示,然后 ADO 對(duì)象群中 Connec
52、tion 、Recordset、 Command 、Fields等對(duì)象才會(huì)成為可以引用的對(duì)象.否那么,類似下面的語(yǔ)句:dim conn as new ADODB.Connectiondim rs as New ADODB.Recordset都會(huì)產(chǎn)生“用戶定義類型未定義的錯(cuò)誤,由于“ Connection 和“ Recordset 者B是定 義在"Microsoft Active Data Objects 2.0 Library中的.如果沒(méi)有事先將其引用的話,VB將無(wú)法辨識(shí)它們.圖 11.72 Microsoft Active Data Objects 2.0 Library的引用3
53、.使用ADO的根本概念從以上例子中我們可以看到,使用ADODC比使用ADO要簡(jiǎn)單得多,但使用ADO比使用ADODC專業(yè)的多.“對(duì)象類別的引用及表示法:語(yǔ)句格式:dim rs as ADODB.Recordset其中,rs稱為“對(duì)象變量,Recordset稱為“對(duì)象類別名稱",ADODB那么稱為“對(duì)象類別模塊,整個(gè)語(yǔ)句被解釋為“建立一個(gè)Recordset類別的對(duì)象變量、而 Recordset對(duì)象類型是來(lái)自ADODB對(duì)象類別模塊的.注意:ADODB 正是"Microsoft Active Data Objects 2.0 Library在程序設(shè)計(jì)中的簡(jiǎn)稱.二、Connectio
54、n 對(duì)象:操作數(shù)據(jù)庫(kù)的源頭ADO對(duì)象群以 Connection 對(duì)象為源頭,通過(guò) Connection對(duì)象才可以翻開其下面的Recordset 及Command 對(duì)象,進(jìn)而對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作.1. Connection 對(duì)象的建立及翻開1)Connection對(duì)象的建立要使用某一對(duì)象時(shí),必須經(jīng)過(guò)“定義和“建立兩個(gè)步驟.即:Dim conn as ADODB.Connection'定義一個(gè) Connection類別的對(duì)象變量Set conn=New ADODB.Connection'建立對(duì)象,并指定給conn 對(duì)象變量也可合二為一:Dim conn as New ADODB.Con
55、nection2)Connection對(duì)象的翻開以上語(yǔ)句只是建立了Connection 對(duì)象,還無(wú)法使用.要想使用 Connection 對(duì)象,就必須指定OLE DB Provider 和Data Source 兩個(gè)參數(shù),然后再調(diào)用Open 方法.如:Connstr= "Provider=Microsoft.Jet.OLEDB3.51; " & "Data Source=f:兇glxjgl.mdbConn.Open Connstr2. 數(shù)據(jù)表的翻開與Connection 對(duì)象翻開數(shù)據(jù)表可用以下語(yǔ)句Dim conn as New ADODB.ConnectionConn
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)球拍球童拍行業(yè)銷售工作總結(jié)
- 金屬礦產(chǎn)行業(yè)技術(shù)工作總結(jié)
- 《澳門國(guó)際機(jī)場(chǎng)》課件
- 藥店衛(wèi)生消毒標(biāo)準(zhǔn)
- 采礦行業(yè)人事工作總結(jié)
- 翻譯行業(yè)服務(wù)員工作總結(jié)
- 《列車環(huán)境與衛(wèi)生》課件
- 2023年河北省唐山市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年山東省東營(yíng)市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年湖北省武漢市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2025年行政執(zhí)法人員執(zhí)法資格考試必考題庫(kù)及答案(共232題)
- 2025年北京探礦工程研究所招聘高校應(yīng)屆畢業(yè)生歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025-2030年中國(guó)新能源汽車行業(yè)市場(chǎng)分析報(bào)告
- 網(wǎng)站建設(shè)合同范本8篇
- 宜賓天原5萬(wàn)噸氯化法鈦白粉環(huán)評(píng)報(bào)告
- 教育機(jī)構(gòu)年度總結(jié)和來(lái)年規(guī)劃
- GB/T 44888-2024政務(wù)服務(wù)大廳智能化建設(shè)指南
- 2024年工廠股權(quán)轉(zhuǎn)讓盡職調(diào)查報(bào)告3篇
- 創(chuàng)意寫作與文學(xué)欣賞
- 高空伐樹作業(yè)施工方案
- 新媒體用戶行為研究-洞察分析
評(píng)論
0/150
提交評(píng)論