版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)實(shí)例,知識(shí)導(dǎo)航,學(xué)習(xí)目標(biāo),了解: Visual Basic 的數(shù)據(jù)訪問(wèn)技術(shù)。 掌握: ADO數(shù)據(jù)控件訪問(wèn)SQL Server數(shù)據(jù)庫(kù); ADO對(duì)象訪問(wèn)SQL Server數(shù)據(jù)庫(kù); 使用VB結(jié)合SQL Server開發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)實(shí)例,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法 10.2 數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)實(shí)例,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,任務(wù)描述:Visual Basic簡(jiǎn)單易學(xué),容易上手而被廣泛接受,本任務(wù)將講述Visual Basic的數(shù)據(jù)訪問(wèn)方法。 任務(wù)目標(biāo):掌握ADO數(shù)據(jù)控件和ADO對(duì)象訪問(wèn)SQL Server數(shù)
2、據(jù)庫(kù)。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,10.1.1 Visual Basic 的數(shù)據(jù)訪問(wèn)技術(shù) Visual Basic作為Microsoft Visual Studio的成員之一,Microsoft公司為其提供了與SQL Server通信的各種API函數(shù)及對(duì)象庫(kù),提供了更好的功能和性能,因此它越來(lái)越多地用作大型數(shù)據(jù)庫(kù)和客戶/服務(wù)器應(yīng)用程序的前端開發(fā)工具,VB與后臺(tái)的SQL Server相結(jié)合,能夠提供一種高性能的客戶/服務(wù)器方案。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,1數(shù)據(jù)訪問(wèn)接口 在Visual Basic中,可用的數(shù)據(jù)訪問(wèn)接口主要三種:數(shù)據(jù)訪問(wèn)對(duì)象(DAO
3、)、遠(yuǎn)程數(shù)據(jù)對(duì)象(RDO)和ActiveX數(shù)據(jù)對(duì)象(ADO)。 1)數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Objects,DAO)是第一個(gè)面向?qū)ο蟮慕涌?,它是Microsoft Jet數(shù)據(jù)庫(kù)引擎(由Microsoft Access所使用),并允許Visual Basic開發(fā)者通過(guò)ODBC如直接連接到其他數(shù)據(jù)庫(kù)一樣,直接連接到Access表。DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用。 2)遠(yuǎn)程數(shù)據(jù)對(duì)象(Remote Data Objects,RDO)是一個(gè)到ODBC 的面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)接口,它同易于使用的DAO組合在一起,提供了一個(gè)接口,形式上展示出所有ODBC的底層功能和靈活性。 3
4、)ADO是DAO/RDO的后繼產(chǎn)物,在功能上與RDO更相似。ADO“擴(kuò)展”了DAO和RDO所使用的對(duì)象模型,包含較少的對(duì)象、更多的屬性、方法(和參數(shù))以及事件。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,2記錄集(Recordset) 記錄集是一種處理數(shù)據(jù)庫(kù)信息的工具,用戶根據(jù)需要,通過(guò)使用記錄集對(duì)象選擇數(shù)據(jù)。Recordset對(duì)象表示的是來(lái)自基本表或命令執(zhí)行結(jié)果的記錄全集。任何時(shí)候, Recordset對(duì)象所指的當(dāng)前記錄均為集合內(nèi)的單個(gè)記錄??梢允褂肦ecordset對(duì)象操作提供的數(shù)據(jù)。使用ADO時(shí),通過(guò)Recordset對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。所有Recordset對(duì)象均使用
5、記錄(行)和字段(列)進(jìn)行構(gòu)造。 3數(shù)據(jù)庫(kù)源(DataSource) 數(shù)據(jù)源是一種易于訪問(wèn)的對(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)用中,通過(guò)數(shù)據(jù)訪問(wèn)接口既可以以可視化數(shù)據(jù)訪問(wèn)控件的形式(如Data控件、ADO控件等)建立數(shù)據(jù)庫(kù)的記錄集,并完成數(shù)據(jù)庫(kù)信息操作;也可以以代碼編程的方式(ADO對(duì)象模型)建立數(shù)據(jù)庫(kù)的記錄集,并實(shí)現(xiàn)數(shù)據(jù)信息的訪問(wèn)。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,10.1.2使
6、用ADO控件和ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù) 1ADO控件 ADO控件是ActiveX的外部控件,是通過(guò)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ù)訪問(wèn)方法,(1)常用屬性 1)ConnectionString屬性。用來(lái)指定與數(shù)據(jù)庫(kù)建立連接,
7、其中包括的主要參數(shù)有Provider(指定連接提供者的名稱)和Data Soure(指定包含預(yù)先設(shè)置連接信息的特定提供者的文件名稱)。 2)RecordSource屬性。用來(lái)指定具體可訪問(wèn)的數(shù)據(jù),可以是數(shù)據(jù)庫(kù)中的單個(gè)表名、一個(gè)存儲(chǔ)查詢或一個(gè)SQL查詢字符串。 3)CommandType屬性。指定Command對(duì)象的類型,在ADO中定義四種不同的命令類型 (2)常用方法 Refresh方法用來(lái)刷新對(duì)象,更改ADO控件的數(shù)據(jù)源屬性后,重新創(chuàng)建其Recordset對(duì)象。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,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訪問(wèn)數(shù)據(jù)庫(kù),首先要?jiǎng)?chuàng)建一個(gè)Connection對(duì)象,建立和數(shù)據(jù)庫(kù)的連接,然后利用Recordset對(duì)象或 Command對(duì)象為需要操作的數(shù)據(jù)建立記錄集,最后就可以利用Recordset對(duì)象的屬性、方法和事件來(lái)操作數(shù)據(jù)。,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,(1)Connection對(duì)象 在Visual Basic應(yīng)用程序中主要使用這個(gè)對(duì)
9、象建立與數(shù)據(jù)庫(kù)的連接,使用方法如下: Dim ADOcn As Connection 聲明對(duì)象 Set ADOcn = New Connection 創(chuàng)建新對(duì)象 ADOcn.Open 連接字符串 建立數(shù)據(jù)庫(kù)連接 還有可以利用Connection對(duì)象對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行增加、刪除、修改等不返回結(jié)果集的操作,語(yǔ)法如下: ADOcn.Execute SQL語(yǔ)句字符串,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,(2)Recordset對(duì)象 記錄集對(duì)象是數(shù)據(jù)表的查詢結(jié)果,通過(guò)可使用它進(jìn)行Select語(yǔ)句的操作,基本的使用方法如下: Dim ADOrs As New Recordset 聲明一個(gè)新的
10、Recordset對(duì)象 ADOrs.ActiveConnection = ADOcn 與ADO鏈接對(duì)象建立關(guān)聯(lián) strSQL = select * from student 拼寫SQL語(yǔ)句 ADOrs.Open strSQL 執(zhí)行SQL語(yǔ)句 ADOrs.Close 關(guān)閉記錄集對(duì)象,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,(3)Field對(duì)象 當(dāng)使用打開記錄集后,就可以使用Field對(duì)象訪問(wèn)其中的數(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ù)訪問(wèn)方法,(4)Command對(duì)象 Command對(duì)象的用途很廣,通常用于那些不需要返回結(jié)果集的SQL語(yǔ)句操作,如Insert、Update和Delete。如前面學(xué)習(xí)過(guò)的ADOcn.Execute語(yǔ)句,就可以用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, 英語(yǔ), 5) 設(shè)置Commad對(duì)象的源 ADOcmd.Execute 執(zhí)行Commad對(duì)象,10.1 Visual Basic的數(shù)據(jù)訪問(wèn)方法,3Recordset對(duì)象 (1)常用屬性 1)AbsolutePosition屬性。用來(lái)指定記錄集中當(dāng)前記錄號(hào),從0開始,當(dāng)AbsolutePosition屬性值為0時(shí),當(dāng)前記錄為表中的第一條記錄。 2)RecordCount屬性。用來(lái)指定記錄集中記錄的個(gè)數(shù)。 3)Eof屬性和Bof屬性。Eof屬性用于測(cè)試記錄集中的記錄指針是否指到了末記錄之后,Bof屬性用于測(cè)試記錄集中的記錄指針
13、是否指到了末記錄之前。 (2)常用方法 1)MoveFirst方法:將記錄指針移到第一條記錄。例如執(zhí)行語(yǔ)句“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ù)訪問(wèn)方法,4DataGrid控件 DataGr
14、id控件是一種類似于電子數(shù)據(jù)表的綁定控件,可以顯示一系列行和列表示Recordset對(duì)象的記錄和字段。當(dāng)在設(shè)計(jì)時(shí)設(shè)置了DataGrid控件的DataSource屬性后,就會(huì)用數(shù)據(jù)源的記錄集來(lái)自動(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ù)訪問(wèn)方法,【例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工程的主窗體的屬性說(shuō)明,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屬性”命令,打開“屬性頁(yè)”對(duì)話框,如圖10-2所示。選擇“通用”選項(xiàng)卡,在“連接資源”選項(xiàng)組中選中“使用連接字符串”單選
17、按鈕。 單擊“生成”按鈕,打開“數(shù)據(jù)鏈接屬性”對(duì)話框,單擊“提供程序”選項(xiàng)卡,選擇“Microsoft OLE DB Provider for SQL Server”,如圖10-3所示。,圖10-2 “屬性頁(yè)”對(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ù)庫(kù)(此例為RtvuStu),如 圖10-4所示。,圖10-4 “數(shù)據(jù)鏈接屬性”對(duì)話框之“連接”選項(xiàng)卡
18、, 單擊“確定”按鈕,返回“屬性頁(yè)”對(duì)話框,單擊“身份驗(yàn)證”選項(xiàng)卡,輸入用戶名稱和密碼,如圖10-5所示。 單擊“記錄源”選項(xiàng)卡,設(shè)置命名類型為“2-AdCmdTable”。在“表或存儲(chǔ)過(guò)程名稱”中選擇“Student”,如圖10-6所示。單擊“確定”按鈕,完成ADO控件的設(shè)置。,圖10-5 “屬性頁(yè)”對(duì)話框之“身份驗(yàn)證”選項(xiàng)卡,圖10-6 “屬性頁(yè)”對(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ù)庫(kù)系統(tǒng)開發(fā)實(shí)例,任務(wù)描述:廣播電視大學(xué)學(xué)生成績(jī)管理系統(tǒng)的主要任務(wù)是利用數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)學(xué)校所有學(xué)生、課程和成績(jī)信息的管理,主要的功能包括以下幾方面。 1)學(xué)生基本信息的錄入、修改、刪除、查詢。 2)課程基本信息的錄入、修改、刪除、查詢。 3)學(xué)生成績(jī)信息的錄入、修改、刪除、查詢。 任務(wù)目標(biāo):掌握使用VB結(jié)合SQL Server開發(fā)數(shù)據(jù)庫(kù)
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型環(huán)保技術(shù)合作承諾合同范本4篇
- 2025版智能社區(qū)門牌制作及管理系統(tǒng)集成合同4篇
- 二零二五版智能科技專利轉(zhuǎn)讓合同補(bǔ)充協(xié)議3篇
- 數(shù)據(jù)化辦公實(shí)驗(yàn)室數(shù)據(jù)的處理與應(yīng)用
- 2025年度個(gè)人教育培訓(xùn)分期付款合同8篇
- 2025版協(xié)議書范本合同(環(huán)保產(chǎn)業(yè))2篇
- 長(zhǎng)安大學(xué)《大學(xué)外語(yǔ)聽說(shuō)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024鐵路電氣化區(qū)段安全使用合同3篇
- 家用醫(yī)療設(shè)備為殘疾人提供個(gè)性化的康復(fù)方案
- 現(xiàn)代家庭的沖突解決與情緒管理策略
- 2025年度杭州市固廢處理與資源化利用合同3篇
- 2024年安徽省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 部編版二年級(jí)下冊(cè)《道德與法治》教案及反思(更新)
- 充電樁項(xiàng)目運(yùn)營(yíng)方案
- 退休人員出國(guó)探親申請(qǐng)書
- 高中物理競(jìng)賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- 西方經(jīng)濟(jì)學(xué)-高鴻業(yè)-筆記
- 幼兒園美術(shù)教育研究策略國(guó)內(nèi)外
- 2024屆河南省五市高三第一次聯(lián)考英語(yǔ)試題及答案
- 孕婦學(xué)校品管圈課件
- 《愿望的實(shí)現(xiàn)》交流ppt課件2
評(píng)論
0/150
提交評(píng)論