版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例,知識(shí)導(dǎo)航,學(xué)習(xí)目標(biāo),了解: Visual Basic 的數(shù)據(jù)訪問技術(shù)。 掌握: ADO數(shù)據(jù)控件訪問SQL Server數(shù)據(jù)庫; ADO對(duì)象訪問SQL Server數(shù)據(jù)庫; 使用VB結(jié)合SQL Server開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)。,數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例,10.1 Visual Basic的數(shù)據(jù)訪問方法 10.2 數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例,10.1 Visual Basic的數(shù)據(jù)訪問方法,任務(wù)描述:Visual Basic簡(jiǎn)單易學(xué),容易上手而被廣泛接受,本任務(wù)將講述Visual Basic的數(shù)據(jù)訪問方法。 任務(wù)目標(biāo):掌握ADO數(shù)據(jù)控件和ADO對(duì)象訪問SQL Server數(shù)
2、據(jù)庫。,10.1 Visual Basic的數(shù)據(jù)訪問方法,10.1.1 Visual Basic 的數(shù)據(jù)訪問技術(shù) Visual Basic作為Microsoft Visual Studio的成員之一,Microsoft公司為其提供了與SQL Server通信的各種API函數(shù)及對(duì)象庫,提供了更好的功能和性能,因此它越來越多地用作大型數(shù)據(jù)庫和客戶/服務(wù)器應(yīng)用程序的前端開發(fā)工具,VB與后臺(tái)的SQL Server相結(jié)合,能夠提供一種高性能的客戶/服務(wù)器方案。,10.1 Visual Basic的數(shù)據(jù)訪問方法,1數(shù)據(jù)訪問接口 在Visual Basic中,可用的數(shù)據(jù)訪問接口主要三種:數(shù)據(jù)訪問對(duì)象(DAO
3、)、遠(yuǎn)程數(shù)據(jù)對(duì)象(RDO)和ActiveX數(shù)據(jù)對(duì)象(ADO)。 1)數(shù)據(jù)訪問對(duì)象(Data Access Objects,DAO)是第一個(gè)面向?qū)ο蟮慕涌?,它是Microsoft Jet數(shù)據(jù)庫引擎(由Microsoft Access所使用),并允許Visual Basic開發(fā)者通過ODBC如直接連接到其他數(shù)據(jù)庫一樣,直接連接到Access表。DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用。 2)遠(yuǎn)程數(shù)據(jù)對(duì)象(Remote Data Objects,RDO)是一個(gè)到ODBC 的面向?qū)ο蟮臄?shù)據(jù)訪問接口,它同易于使用的DAO組合在一起,提供了一個(gè)接口,形式上展示出所有ODBC的底層功能和靈活性。 3
4、)ADO是DAO/RDO的后繼產(chǎn)物,在功能上與RDO更相似。ADO“擴(kuò)展”了DAO和RDO所使用的對(duì)象模型,包含較少的對(duì)象、更多的屬性、方法(和參數(shù))以及事件。,10.1 Visual Basic的數(shù)據(jù)訪問方法,2記錄集(Recordset) 記錄集是一種處理數(shù)據(jù)庫信息的工具,用戶根據(jù)需要,通過使用記錄集對(duì)象選擇數(shù)據(jù)。Recordset對(duì)象表示的是來自基本表或命令執(zhí)行結(jié)果的記錄全集。任何時(shí)候, Recordset對(duì)象所指的當(dāng)前記錄均為集合內(nèi)的單個(gè)記錄??梢允褂肦ecordset對(duì)象操作提供的數(shù)據(jù)。使用ADO時(shí),通過Recordset對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。所有Recordset對(duì)象均使用
5、記錄(行)和字段(列)進(jìn)行構(gòu)造。 3數(shù)據(jù)庫源(DataSource) 數(shù)據(jù)源是一種易于訪問的對(duì)象,它向所有數(shù)據(jù)使用者(任何可以和外部數(shù)據(jù)源綁定的類和控件)提供數(shù)據(jù)。在Visual Basic中,數(shù)據(jù)源包括內(nèi)部的Data控件、RemoteData控件和新的ADO控件,它們?cè)试S創(chuàng)建豐富的應(yīng)用程序以便查看和編輯數(shù)據(jù)。 在實(shí)際的應(yīng)用中,通過數(shù)據(jù)訪問接口既可以以可視化數(shù)據(jù)訪問控件的形式(如Data控件、ADO控件等)建立數(shù)據(jù)庫的記錄集,并完成數(shù)據(jù)庫信息操作;也可以以代碼編程的方式(ADO對(duì)象模型)建立數(shù)據(jù)庫的記錄集,并實(shí)現(xiàn)數(shù)據(jù)信息的訪問。,10.1 Visual Basic的數(shù)據(jù)訪問方法,10.1.2使
6、用ADO控件和ADO對(duì)象訪問數(shù)據(jù)庫 1ADO控件 ADO控件是ActiveX的外部控件,是通過Microsoft Active數(shù)據(jù)對(duì)象(ADO)快速建立數(shù)據(jù)源連接的數(shù)據(jù)綁定控件。因此,使用ADO控件之前必須將其添加到工具箱中,添加ADO控件的步驟如下: 1)在菜單欄中單擊“工程”“部件”命令,彈出“部件”對(duì)話框。 2)在“部件”對(duì)話框中選擇Microsoft ADO Data Control 6.0(OLEDB),單擊“確定”按鈕,將ADO控件添加到工具箱中。,10.1 Visual Basic的數(shù)據(jù)訪問方法,(1)常用屬性 1)ConnectionString屬性。用來指定與數(shù)據(jù)庫建立連接,
7、其中包括的主要參數(shù)有Provider(指定連接提供者的名稱)和Data Soure(指定包含預(yù)先設(shè)置連接信息的特定提供者的文件名稱)。 2)RecordSource屬性。用來指定具體可訪問的數(shù)據(jù),可以是數(shù)據(jù)庫中的單個(gè)表名、一個(gè)存儲(chǔ)查詢或一個(gè)SQL查詢字符串。 3)CommandType屬性。指定Command對(duì)象的類型,在ADO中定義四種不同的命令類型 (2)常用方法 Refresh方法用來刷新對(duì)象,更改ADO控件的數(shù)據(jù)源屬性后,重新創(chuàng)建其Recordset對(duì)象。,10.1 Visual Basic的數(shù)據(jù)訪問方法,2ADO對(duì)象模型 在Visual Basic中使用ADO對(duì)象,首先要將ADO對(duì)象
8、加入到工程中的“引用”對(duì)話框,其方法是在菜單欄中單擊“工程”“引用”命令,在彈出的“引用”對(duì)話框中添加Microsoft ActiveX Data Objects 2.5 Library。 ADO是一個(gè)對(duì)象模型,由7個(gè)對(duì)象和4個(gè)集合組成。利用ADO訪問數(shù)據(jù)庫,首先要?jiǎng)?chuàng)建一個(gè)Connection對(duì)象,建立和數(shù)據(jù)庫的連接,然后利用Recordset對(duì)象或 Command對(duì)象為需要操作的數(shù)據(jù)建立記錄集,最后就可以利用Recordset對(duì)象的屬性、方法和事件來操作數(shù)據(jù)。,10.1 Visual Basic的數(shù)據(jù)訪問方法,(1)Connection對(duì)象 在Visual Basic應(yīng)用程序中主要使用這個(gè)對(duì)
9、象建立與數(shù)據(jù)庫的連接,使用方法如下: Dim ADOcn As Connection 聲明對(duì)象 Set ADOcn = New Connection 創(chuàng)建新對(duì)象 ADOcn.Open 連接字符串 建立數(shù)據(jù)庫連接 還有可以利用Connection對(duì)象對(duì)數(shù)據(jù)庫中的表進(jìn)行增加、刪除、修改等不返回結(jié)果集的操作,語法如下: ADOcn.Execute SQL語句字符串,10.1 Visual Basic的數(shù)據(jù)訪問方法,(2)Recordset對(duì)象 記錄集對(duì)象是數(shù)據(jù)表的查詢結(jié)果,通過可使用它進(jìn)行Select語句的操作,基本的使用方法如下: Dim ADOrs As New Recordset 聲明一個(gè)新的
10、Recordset對(duì)象 ADOrs.ActiveConnection = ADOcn 與ADO鏈接對(duì)象建立關(guān)聯(lián) strSQL = select * from student 拼寫SQL語句 ADOrs.Open strSQL 執(zhí)行SQL語句 ADOrs.Close 關(guān)閉記錄集對(duì)象,10.1 Visual Basic的數(shù)據(jù)訪問方法,(3)Field對(duì)象 當(dāng)使用打開記錄集后,就可以使用Field對(duì)象訪問其中的數(shù)據(jù)了,方法如下: Text1.Text=ADOrs.Fields(S_ID) 在TextBox控件顯示 或者 Dim strNo As String strNo= ADOrs.Fields(
11、S_ID) 讀取到變量中,10.1 Visual Basic的數(shù)據(jù)訪問方法,(4)Command對(duì)象 Command對(duì)象的用途很廣,通常用于那些不需要返回結(jié)果集的SQL語句操作,如Insert、Update和Delete。如前面學(xué)習(xí)過的ADOcn.Execute語句,就可以用Command對(duì)象替代。 Dim ADOcmd As New Command 聲明一個(gè)新的Commad對(duì)象 ADOcmd.ActiveConnection = ADOcn 與ADO鏈接對(duì)象建立關(guān)聯(lián) ADOcmd.CommandType = adCmdText 設(shè)置Commad對(duì)象的源類型 ADOcmd.CommandTex
12、t = Insert Into course values (A001, 英語, 5) 設(shè)置Commad對(duì)象的源 ADOcmd.Execute 執(zhí)行Commad對(duì)象,10.1 Visual Basic的數(shù)據(jù)訪問方法,3Recordset對(duì)象 (1)常用屬性 1)AbsolutePosition屬性。用來指定記錄集中當(dāng)前記錄號(hào),從0開始,當(dāng)AbsolutePosition屬性值為0時(shí),當(dāng)前記錄為表中的第一條記錄。 2)RecordCount屬性。用來指定記錄集中記錄的個(gè)數(shù)。 3)Eof屬性和Bof屬性。Eof屬性用于測(cè)試記錄集中的記錄指針是否指到了末記錄之后,Bof屬性用于測(cè)試記錄集中的記錄指針
13、是否指到了末記錄之前。 (2)常用方法 1)MoveFirst方法:將記錄指針移到第一條記錄。例如執(zhí)行語句“Adodc1.RecordSet. MoveFirst”后,將記錄指針移到第一條記錄。 2)MoveLast方法:將記錄指針移到最后一條記錄。 3)MoveNext方法:將記錄指針向后移動(dòng)一條記錄。 4)MovePrevious方法:將記錄指針向前移動(dòng)一條記錄。 5)AddNew方法:增加一條新記錄,作為表文件的最后一條記錄。 6)Delete方法:刪除當(dāng)前記錄。 7)Update方法:更新記錄內(nèi)容。,10.1 Visual Basic的數(shù)據(jù)訪問方法,4DataGrid控件 DataGr
14、id控件是一種類似于電子數(shù)據(jù)表的綁定控件,可以顯示一系列行和列表示Recordset對(duì)象的記錄和字段。當(dāng)在設(shè)計(jì)時(shí)設(shè)置了DataGrid控件的DataSource屬性后,就會(huì)用數(shù)據(jù)源的記錄集來自動(dòng)填充該控件,以及自動(dòng)設(shè)置該控件的列標(biāo)頭。然后就可以編輯該網(wǎng)格的列;刪除、重新安排、添加列標(biāo)頭、或者調(diào)整任意一列的寬度。 在使用DataGrid控件前,在菜單欄中選擇“工程”“部件”命令,在彈出的對(duì)話框中勾選Microsoft DataGrid Control 6.0(SP5)(OLEDB)項(xiàng),將其添加到工具箱中。,10.1 Visual Basic的數(shù)據(jù)訪問方法,【例10-1】 利用ADO控件和Data
15、Grid控件,設(shè)計(jì)一個(gè)瀏覽學(xué)生信息的應(yīng)用程序,程序運(yùn)行界面如圖10-1所示。,圖10-1 ADO控件和DataDrid控件示例程序界面,實(shí)現(xiàn)步驟如下: 1)創(chuàng)建工程存儲(chǔ)目錄,例如“D:DataBaseTestAdo”。 2)創(chuàng)建新工程,運(yùn)行Visual Basic主程序,并選擇新建“標(biāo)準(zhǔn)EXE”工程,設(shè)置工程名為“TestAdo”。 3)創(chuàng)建主窗體屬性并設(shè)置相關(guān)。將默認(rèn)的窗體作為工程主窗體,按表10-2設(shè)置窗體屬性,其他屬性保持不變。,表10-2 TestData工程的主窗體的屬性說明,4)添加窗體控件。ADO控件和DataGrid控件分別需要單獨(dú)添加到工具箱,步驟如下: 在菜單欄中單擊“工程
16、”“部件”命令,彈出“部件”對(duì)話框。 在“部件”對(duì)話框中選擇Microsoft ADO Data Control 6.0(OLEDB)和Microsoft DataGrid Control 6.0(OLEDB),將ADO控件和DataGrid控件添加到工具箱中。 按圖10-1所示添加ADO控件、DataGrid控件、Label1Label2控件和TextBox1TextBox2控件。,5)設(shè)置ADO控件的屬性的方法如下: 右鍵單擊ADO控件,在彈出的快捷菜單中單擊“ADODC屬性”命令,打開“屬性頁”對(duì)話框,如圖10-2所示。選擇“通用”選項(xiàng)卡,在“連接資源”選項(xiàng)組中選中“使用連接字符串”單選
17、按鈕。 單擊“生成”按鈕,打開“數(shù)據(jù)鏈接屬性”對(duì)話框,單擊“提供程序”選項(xiàng)卡,選擇“Microsoft OLE DB Provider for SQL Server”,如圖10-3所示。,圖10-2 “屬性頁”對(duì)話框之“通用”選項(xiàng)卡,圖10-3 “數(shù)據(jù)鏈接屬性”對(duì)話框之“提供程序”選項(xiàng)卡, 單擊“下一步”按鈕,切換到“數(shù)據(jù)鏈接屬性”對(duì)話框的“連接”選項(xiàng)卡,在“選擇或輸入服務(wù)器名稱”項(xiàng)中輸入服務(wù)器的名稱(此例為yujfzjtvu),在輸入登錄服務(wù)器的信息中輸入用戶名和密碼,在服務(wù)器上選擇相應(yīng)的數(shù)據(jù)庫(此例為RtvuStu),如 圖10-4所示。,圖10-4 “數(shù)據(jù)鏈接屬性”對(duì)話框之“連接”選項(xiàng)卡
18、, 單擊“確定”按鈕,返回“屬性頁”對(duì)話框,單擊“身份驗(yàn)證”選項(xiàng)卡,輸入用戶名稱和密碼,如圖10-5所示。 單擊“記錄源”選項(xiàng)卡,設(shè)置命名類型為“2-AdCmdTable”。在“表或存儲(chǔ)過程名稱”中選擇“Student”,如圖10-6所示。單擊“確定”按鈕,完成ADO控件的設(shè)置。,圖10-5 “屬性頁”對(duì)話框之“身份驗(yàn)證”選項(xiàng)卡,圖10-6 “屬性頁”對(duì)話框之“記錄源”選項(xiàng)卡,6)設(shè)置DataGrid控件和TextBox控件屬性(見表10-3):DataGrid控件和TextBox控件作為數(shù)據(jù)綁定控件,分別用于顯示學(xué)生表中的數(shù)據(jù)。 7)保存運(yùn)行工程:?jiǎn)螕簟氨4妗卑粹o,將窗體FrmAdo保存為“FrmAdo.frm”,將工程保存為“TestAdo.vpb”。運(yùn)行此工程,單擊ADO控件的向前向后按鈕時(shí),DataGrid控件和文本框中的內(nèi)容隨之發(fā)生變化。,表10-3 設(shè)置DataGrid控件和TextBox控件的屬性,10.2 數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例,任務(wù)描述:廣播電視大學(xué)學(xué)生成績(jī)管理系統(tǒng)的主要任務(wù)是利用數(shù)據(jù)庫實(shí)現(xiàn)對(duì)學(xué)校所有學(xué)生、課程和成績(jī)信息的管理,主要的功能包括以下幾方面。 1)學(xué)生基本信息的錄入、修改、刪除、查詢。 2)課程基本信息的錄入、修改、刪除、查詢。 3)學(xué)生成績(jī)信息的錄入、修改、刪除、查詢。 任務(wù)目標(biāo):掌握使用VB結(jié)合SQL Server開發(fā)數(shù)據(jù)庫
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中遠(yuǎn)海運(yùn)航空貨運(yùn)代理有限公司重慶分公司招聘?jìng)淇碱}庫含答案詳解
- 2026年華能內(nèi)蒙古東部能源有限公司招聘高校畢業(yè)生備考題庫及參考答案詳解
- 2026年威海市青少年宮公開招聘事業(yè)單位工作人員備考題庫完整參考答案詳解
- 2026年成都市雙流區(qū)川大江安小學(xué)教師招聘11人備考題庫及參考答案詳解一套
- 2026年開江縣人民醫(yī)院關(guān)于招聘編外工作人員備考題庫附答案詳解
- 2025-2026學(xué)年譯林版(三起)三年級(jí)上冊(cè)期末模擬測(cè)試英語試卷【含答案詳解】
- 銀行對(duì)公外匯內(nèi)控制度
- 殘聯(lián)財(cái)務(wù)內(nèi)控制度手冊(cè)
- 疫情期間內(nèi)控制度
- 城市檔案館內(nèi)控制度
- 2026年中國馬術(shù)行業(yè)發(fā)展現(xiàn)狀調(diào)查、競(jìng)爭(zhēng)格局分析及未來前景預(yù)測(cè)報(bào)告
- 健康體檢重要異常結(jié)果管理專家共識(shí)2025
- TCNAS50-2025成人吞咽障礙患者口服給藥護(hù)理學(xué)習(xí)解讀課件
- 工程概算編制方案
- 可持續(xù)采購培訓(xùn)
- 2025至2030全球及中國供應(yīng)鏈的區(qū)塊鏈行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 議論文寫作入門指導(dǎo)課件統(tǒng)編版高一語文必修上冊(cè)
- 北師大版初中英語七年級(jí)上冊(cè)期末復(fù)習(xí)試卷及答案
- 2025-2030中國特種陶瓷材料進(jìn)口替代空間與投資機(jī)會(huì)評(píng)估研究報(bào)告
- 脛骨平臺(tái)骨折課件
- 2025-2030中國建筑行業(yè)人才需求與培養(yǎng)戰(zhàn)略研究報(bào)告
評(píng)論
0/150
提交評(píng)論