版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)會(huì)使用數(shù)據(jù)庫(kù)管理器掌握
常用數(shù)據(jù)控件的使用熟悉SQL結(jié)構(gòu)化查詢語(yǔ)言掌握ADO控件熟悉使用數(shù)據(jù)窗體向?qū)繕?biāo)要求中國(guó)鐵道出版社第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)主要內(nèi)容:l
數(shù)據(jù)庫(kù)管理器l
常用數(shù)據(jù)控件的使用l
SQL結(jié)構(gòu)化查詢語(yǔ)言l
ADO控件l
使用數(shù)據(jù)窗體向?qū)еv課提綱第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.1.1數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)在計(jì)算機(jī)系統(tǒng)中的地位
1、
數(shù)據(jù)庫(kù)的基本概念根據(jù)數(shù)據(jù)模型,即實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)化所采用的聯(lián)系方式,數(shù)據(jù)庫(kù)可以分為層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)是現(xiàn)在常用的數(shù)據(jù)類型。在此以關(guān)系型數(shù)據(jù)庫(kù)為例講解數(shù)據(jù)庫(kù)的有關(guān)知識(shí)。(1)關(guān)系(表)在關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以關(guān)系的形式出現(xiàn),可以把關(guān)系理解成一張二維表(Table)。(2)記錄(行)每張二維表均由若干行和列構(gòu)成,其中每一行稱為一條記錄(Record)。
12.1數(shù)據(jù)庫(kù)管理器(3)字段(列)二維表中的每一列稱為一個(gè)字段(Field),每一列均有一個(gè)名字,稱為字段名,各字段名互不相同。(4)主鍵關(guān)系數(shù)據(jù)庫(kù)中的某個(gè)字段或某些字段的組合定義為主鍵(PrimaryKey)。每條記錄的主鍵值都是唯一的,這就保證了可以通過(guò)主鍵唯一標(biāo)識(shí)一條記錄。(5)索引為了提高數(shù)據(jù)庫(kù)的訪問(wèn)效率,表中的記錄應(yīng)該按照一定順序排列,通常建立一個(gè)較小的表——索引表,該表中只含有索引字段和記錄號(hào)。通過(guò)索引可以快速確定要訪問(wèn)記錄的位置。12.1.2數(shù)據(jù)庫(kù)管理器
數(shù)據(jù)庫(kù)管理器是VB自帶的一種數(shù)據(jù)庫(kù)制作工具,可以通過(guò)點(diǎn)擊“外接程序”菜單下的“可視化數(shù)據(jù)管理器”將它打開(kāi),如圖
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)1、單擊“文件”菜單下的“新建”菜單項(xiàng),出現(xiàn)數(shù)據(jù)庫(kù)類型選擇菜單。單擊數(shù)據(jù)庫(kù)類型菜單中的MicrosoftAccess將出現(xiàn)版本子菜單,在版本菜單中選擇要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)版本。
2、選擇要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)類型及版本后,出現(xiàn)新建數(shù)據(jù)庫(kù)對(duì)話框,在此對(duì)話框中,輸入要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名如“stu.mdb”及其路徑。
12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)3、此時(shí),在可視化數(shù)據(jù)庫(kù)管理器窗口中出現(xiàn)“數(shù)據(jù)庫(kù)窗口”和“SQL語(yǔ)句”窗口,如圖所示?!皵?shù)據(jù)庫(kù)窗口”以樹(shù)型結(jié)構(gòu)顯示數(shù)據(jù)庫(kù)中的所有對(duì)象,單擊鼠標(biāo)右鍵激活快捷菜單,執(zhí)行“新建表”、“刷新列表”等菜單項(xiàng)。12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)4、在“數(shù)據(jù)庫(kù)窗口”中單擊鼠標(biāo)右鍵,出現(xiàn)快捷菜單,執(zhí)行“新建表”菜單項(xiàng)便可為數(shù)據(jù)庫(kù)添加一個(gè)新表。5、屏幕出現(xiàn)如圖所示的“表結(jié)構(gòu)”對(duì)話框。在這個(gè)對(duì)話框中,輸入新表的名稱,并通過(guò)按鈕可以添加字段如圖,也可從表中刪除字段,還可以添加或刪除作為索引的
字段。先依次添加如表12-1字段。
12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)表12-1字段屬性列表
6、添加字段完成后,單擊“添加字段”對(duì)話框中的“關(guān)閉”按鈕?;氐饺缟蠄D所示的“表結(jié)構(gòu)”對(duì)話框,單擊“添加索引”按鈕,出現(xiàn)“添加索引”對(duì)話框,如圖右圖所示,選擇索引字段為“學(xué)號(hào)”,輸入索引字段名為“ID”,單擊“確定”按鈕。12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)7、完成上述步驟后,單擊“生成表”按鈕,就會(huì)在“數(shù)據(jù)庫(kù)窗口”中出現(xiàn)數(shù)據(jù)表“stu”,如下圖所示。
8、當(dāng)一張表建立后,可以再建立另一張表。如果要在已經(jīng)存在的數(shù)據(jù)庫(kù)文件內(nèi)增加一張新表,只需要在數(shù)據(jù)管理器文件菜單中選擇打開(kāi)數(shù)據(jù)庫(kù)命令,其余操作過(guò)程與建立數(shù)據(jù)表的操作相同。當(dāng)數(shù)據(jù)表建好后,用鼠標(biāo)左鍵雙擊出現(xiàn)在數(shù)據(jù)庫(kù)窗口中的“stu”表名,打開(kāi)上右圖所示的表格輸入窗,選擇對(duì)應(yīng)命令進(jìn)行添加、編輯、增刪記錄等操作。
12.1數(shù)據(jù)庫(kù)管理器第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2.1數(shù)據(jù)控件12.2.2數(shù)據(jù)控件常用屬性
12.2.3數(shù)據(jù)綁定控件常用屬性
1)DataSource屬性DataSource屬性用來(lái)將一個(gè)有效的數(shù)據(jù)控件與一個(gè)數(shù)據(jù)庫(kù)連接。2)DataFleld屬性DataFleld屬性設(shè)置數(shù)據(jù)庫(kù)有效的字段與綁定控件建立聯(lián)系.綁定控件、數(shù)據(jù)控件和數(shù)據(jù)庫(kù)三者的關(guān)系關(guān)系如圖.12.2數(shù)據(jù)控件的使用
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)
12.2.4使用數(shù)據(jù)控件操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)
范例程序12
12.2.5數(shù)據(jù)控件上的對(duì)象
1、Database對(duì)象
如以下語(yǔ)句:DimD1AsDatabase‘定義數(shù)據(jù)對(duì)象DimD2AsDatabaseSetD1=OpenDatabase(“e:\aa\book.mdb)‘使D1獲取物理數(shù)據(jù)庫(kù)SetD2=Me.data1.Database‘將數(shù)據(jù)控件的Database對(duì)象傳遞給D22、Recordset對(duì)象
12.2數(shù)據(jù)控件的使用Recordset對(duì)象有三種類型:Table類型Dynaset類型Snapshot類型Data
NameData1.Caption
DatabasenameRecordsource
data1
stu
G:\教學(xué)\VB\編寫教材\VB教材實(shí)例\第十章實(shí)例\實(shí)例1-5\stu.mdbstuMsflexGrid
NameDatasourceMSFlexGrid1Data1第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2數(shù)據(jù)控件的使用12.2.6數(shù)據(jù)控件的常用方法
1、Refresh方法如果在設(shè)計(jì)狀態(tài)沒(méi)有為打開(kāi)數(shù)據(jù)控件的有關(guān)屬性全部賦值,或當(dāng)RecordSource在運(yùn)行時(shí)被改變以后,必須使用激活數(shù)據(jù)控件的Refresh方法激活這些變化。2、UpdateCountrols方法UpdateCountrols方法可以將數(shù)據(jù)從數(shù)據(jù)庫(kù)中重新讀到被數(shù)據(jù)控件綁定的控件(綁定內(nèi)控件)內(nèi)。使用UpdateCountrols方法終止用戶對(duì)綁定內(nèi)控件的修改。3、UpdateRecord方法
當(dāng)對(duì)綁定內(nèi)的控件修改后,數(shù)據(jù)控件需要移動(dòng)記錄集的指針才能保存修改,如果使用UpdateRecord方法可強(qiáng)制數(shù)據(jù)控件將綁定控件內(nèi)的數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)中而不再觸發(fā)Vaildate事件。在代碼中用該方法修改。
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2數(shù)據(jù)控件的使用12.2.7數(shù)據(jù)控件的事件1、Reposition事件Reposition事件發(fā)生在一條記錄成為當(dāng)前記錄后。只要改變記錄集的指針使其從一條指針移到另一條記錄,就會(huì)產(chǎn)生Reposition事件??梢栽谠撌录^(guò)程中建立程序,能反映出記錄位置、記錄總數(shù)等。2、Validate事件當(dāng)要移動(dòng)記錄指針前、修改與刪除記錄前或卸載含有數(shù)據(jù)控件的窗體時(shí)觸發(fā)Validate事件。Validate事件檢查被數(shù)據(jù)綁定的控件內(nèi)的數(shù)據(jù)是否發(fā)生變化。它通過(guò)save參數(shù)(True或False)判斷是否有數(shù)據(jù)發(fā)生變化;Action參數(shù)判斷哪一種操作觸發(fā)了Validate事件。結(jié)束。
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2數(shù)據(jù)控件的使用12.2.8記錄的增、刪、改操作對(duì)記錄的操作能夠通過(guò)Recordset對(duì)象的方法實(shí)現(xiàn)。其常用方法有:1、AddNew方法加入一條新記錄到記錄集內(nèi)存緩沖區(qū)。例如:Rs.AddNew2、Edit方法允許對(duì)當(dāng)前記錄進(jìn)行修改。3、Delete方法用于刪除當(dāng)前記錄。4、Update方法把內(nèi)存緩沖區(qū)的內(nèi)容寫進(jìn)數(shù)據(jù)庫(kù)文件,保存對(duì)數(shù)據(jù)庫(kù)所作的改動(dòng)。5、Close方法關(guān)閉記錄集和數(shù)據(jù)庫(kù)。該方法也能用在數(shù)據(jù)庫(kù)對(duì)象上,將數(shù)據(jù)庫(kù)關(guān)閉。Rs.Close'關(guān)閉記錄集Ds.Close'關(guān)閉數(shù)據(jù)庫(kù)6、Move方法使用Move方法可代替對(duì)數(shù)據(jù)庫(kù)控件對(duì)象的4個(gè)箭頭的操作遍歷整個(gè)表中的記錄。共有5種Move方法:
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2數(shù)據(jù)控件的使用(1)MoveFirst方法移至第一條記錄(2)MoveLast方法移至最后一條記錄(3)MoveNext方法移至下一條記錄(4)MovePrevious方法移至上一條記錄(5)Move[n]方法向前或向后移動(dòng)n條記錄,n為指定的數(shù)值。范例程序13第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.2數(shù)據(jù)控件的使用12.3.1SQL語(yǔ)言的組成1、SQL命令
2、SQL的數(shù)據(jù)定義功能
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.3
SQL語(yǔ)言3、SQL的數(shù)據(jù)查詢功能SQL語(yǔ)言的核心是查詢語(yǔ)句,它的基本格式為:SELECT<列名表名>
FROM<基本表名或視圖名>[WHERE<條件表達(dá)式>GROUPBY<列名l>[HAVING內(nèi)部函數(shù)表達(dá)式][ORDERBY<列名2>[ASC或DESC]例如:1)Data.RecordSource=“SELECT姓名,學(xué)號(hào)
FROM學(xué)生情況表”作用是將“”學(xué)生情況表中”的“姓名”、“學(xué)號(hào)”兩列的所有記錄都挑選出來(lái)。這樣與數(shù)據(jù)控件相關(guān)聯(lián)的數(shù)據(jù)集只是該SQL查詢的結(jié)果。2)Data.RecordSource=“SELECT*FROMstu”其中的“*’表示查詢stu表中的所有列。3)Data.RecordSource;“SELECT姓名FROMstuWHERE性別=‘女’”該查詢語(yǔ)句挑選stu表中性別為“女”的記錄的“姓名”字段。12.3.2應(yīng)用實(shí)例
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.3
SQL語(yǔ)言12.4.1使用ADO數(shù)據(jù)控件1、ConnectionString屬性ConnectionString屬性包含了用于與數(shù)據(jù)源建立連接的相關(guān)信息。ConnectionString屬性帶有4個(gè)參數(shù)如表所示。
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.4ADO數(shù)據(jù)控件參數(shù)描述Provide制定數(shù)據(jù)源的名稱Filename指定數(shù)據(jù)源所對(duì)應(yīng)的文件名RemoteProvide在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開(kāi)一個(gè)客戶端所用的數(shù)據(jù)源名稱RemoteServer在遠(yuǎn)程數(shù)據(jù)服務(wù)器打開(kāi)一個(gè)主機(jī)端所用的數(shù)據(jù)源名稱2、RecordSource屬性RecordSource屬性確定具體可訪問(wèn)的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象Recordset。該屬性值可以是數(shù)據(jù)庫(kù)中的單個(gè)表名,一個(gè)存儲(chǔ)查詢,也可以是使用SQL查詢語(yǔ)言的一個(gè)查詢字符串。3、ConnectionTimeout屬性ConnectionTimeout屬性用于數(shù)據(jù)連接的超時(shí)設(shè)定,若在指定時(shí)間內(nèi)連接不成功顯示超時(shí)信息。4、
axRecords屬性axRecords屬性定義從一個(gè)查詢中最多能返回的記錄數(shù)。5、其他屬性
12.4.2應(yīng)用實(shí)例
第12章VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)12.4ADO數(shù)據(jù)控件VisualBasic6.0提供了一個(gè)功能強(qiáng)大的數(shù)據(jù)窗體向?qū)?,通過(guò)幾個(gè)交互過(guò)程,便能建立一個(gè)訪問(wèn)數(shù)據(jù)的窗口。數(shù)據(jù)窗體向?qū)儆谕饨映绦?,在使用前必須?zhí)行“外接程序”菜單的“外接程序管理器”命令,按
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版車站保潔分包服務(wù)合同3篇
- 2025年度環(huán)保型建筑材料研發(fā)與應(yīng)用合同模板
- 小學(xué)數(shù)學(xué)與信息技術(shù)的融合教學(xué)案例分享
- 2024版車貸反擔(dān)保合同
- 2025年度智慧農(nóng)業(yè)用地承包合同示范文本
- 學(xué)術(shù)報(bào)告中的互動(dòng)環(huán)節(jié)制作技巧
- 2025年度農(nóng)業(yè)種植保險(xiǎn)及風(fēng)險(xiǎn)防控服務(wù)合同
- 2025年度亮化工程節(jié)能燈具采購(gòu)及安裝合同樣本
- 2024期權(quán)合同模板:金融衍生品投資合同范本5篇
- 小區(qū)內(nèi)外賣服務(wù)的智能化升級(jí)路徑
- 太平洋戰(zhàn)爭(zhēng)課件
- 河北省房屋建筑和市政基礎(chǔ)設(shè)施施工圖設(shè)計(jì)文件審查要點(diǎn)(版)
- 醫(yī)院院長(zhǎng)年終工作總結(jié)報(bào)告精編ppt
- 綠化養(yǎng)護(hù)重點(diǎn)難點(diǎn)分析及解決措施
- “三排查三清零”回頭看問(wèn)題整改臺(tái)賬
- 造價(jià)咨詢結(jié)算審核服務(wù)方案
- 中國(guó)人民財(cái)產(chǎn)保險(xiǎn)股份有限公司機(jī)動(dòng)車綜合商業(yè)保險(xiǎn)條款
- 八年級(jí)物理上冊(cè)計(jì)算題精選(50道)
- 貨代操作流程及規(guī)范
- 礦井反風(fēng)演習(xí)方案
- 2022年脛骨平臺(tái)三柱理論
評(píng)論
0/150
提交評(píng)論