數(shù)據(jù)庫基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)教程——基于SQL Server第10章.ppt_第1頁
數(shù)據(jù)庫基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)教程——基于SQL Server第10章.ppt_第2頁
數(shù)據(jù)庫基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)教程——基于SQL Server第10章.ppt_第3頁
數(shù)據(jù)庫基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)教程——基于SQL Server第10章.ppt_第4頁
數(shù)據(jù)庫基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)教程——基于SQL Server第10章.ppt_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第10章 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例,知識導(dǎo)航,學(xué)習(xí)目標(biāo),了解: Visual Basic 的數(shù)據(jù)訪問技術(shù)。 掌握: ADO數(shù)據(jù)控件訪問SQL Server數(shù)據(jù)庫; ADO對象訪問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簡單易學(xué),容易上手而被廣泛接受,本任務(wù)將講述Visual Basic的數(shù)據(jù)訪問方法。 任務(wù)目標(biāo):掌握ADO數(shù)據(jù)控件和ADO對象訪問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ù)及對象庫,提供了更好的功能和性能,因此它越來越多地用作大型數(shù)據(jù)庫和客戶/服務(wù)器應(yīng)用程序的前端開發(fā)工具,VB與后臺的SQL Server相結(jié)合,能夠提供一種高性能的客戶/服務(wù)器方案。,10.1 Visual Basic的數(shù)據(jù)訪問方法,1數(shù)據(jù)訪問接口 在Visual Basic中,可用的數(shù)據(jù)訪問接口主要三種:數(shù)據(jù)訪問對象(DAO

3、)、遠(yuǎn)程數(shù)據(jù)對象(RDO)和ActiveX數(shù)據(jù)對象(ADO)。 1)數(shù)據(jù)訪問對象(Data Access Objects,DAO)是第一個面向?qū)ο蟮慕涌?,它是Microsoft Jet數(shù)據(jù)庫引擎(由Microsoft Access所使用),并允許Visual Basic開發(fā)者通過ODBC如直接連接到其他數(shù)據(jù)庫一樣,直接連接到Access表。DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用。 2)遠(yuǎn)程數(shù)據(jù)對象(Remote Data Objects,RDO)是一個到ODBC 的面向?qū)ο蟮臄?shù)據(jù)訪問接口,它同易于使用的DAO組合在一起,提供了一個接口,形式上展示出所有ODBC的底層功能和靈活性。 3

4、)ADO是DAO/RDO的后繼產(chǎn)物,在功能上與RDO更相似。ADO“擴(kuò)展”了DAO和RDO所使用的對象模型,包含較少的對象、更多的屬性、方法(和參數(shù))以及事件。,10.1 Visual Basic的數(shù)據(jù)訪問方法,2記錄集(Recordset) 記錄集是一種處理數(shù)據(jù)庫信息的工具,用戶根據(jù)需要,通過使用記錄集對象選擇數(shù)據(jù)。Recordset對象表示的是來自基本表或命令執(zhí)行結(jié)果的記錄全集。任何時(shí)候, Recordset對象所指的當(dāng)前記錄均為集合內(nèi)的單個記錄。可以使用Recordset對象操作提供的數(shù)據(jù)。使用ADO時(shí),通過Recordset對象可對幾乎所有數(shù)據(jù)進(jìn)行操作。所有Recordset對象均使用

5、記錄(行)和字段(列)進(jìn)行構(gòu)造。 3數(shù)據(jù)庫源(DataSource) 數(shù)據(jù)源是一種易于訪問的對象,它向所有數(shù)據(jù)使用者(任何可以和外部數(shù)據(jù)源綁定的類和控件)提供數(shù)據(jù)。在Visual Basic中,數(shù)據(jù)源包括內(nèi)部的Data控件、RemoteData控件和新的ADO控件,它們允許創(chuàng)建豐富的應(yīng)用程序以便查看和編輯數(shù)據(jù)。 在實(shí)際的應(yīng)用中,通過數(shù)據(jù)訪問接口既可以以可視化數(shù)據(jù)訪問控件的形式(如Data控件、ADO控件等)建立數(shù)據(jù)庫的記錄集,并完成數(shù)據(jù)庫信息操作;也可以以代碼編程的方式(ADO對象模型)建立數(shù)據(jù)庫的記錄集,并實(shí)現(xiàn)數(shù)據(jù)信息的訪問。,10.1 Visual Basic的數(shù)據(jù)訪問方法,10.1.2使

6、用ADO控件和ADO對象訪問數(shù)據(jù)庫 1ADO控件 ADO控件是ActiveX的外部控件,是通過Microsoft Active數(shù)據(jù)對象(ADO)快速建立數(shù)據(jù)源連接的數(shù)據(jù)綁定控件。因此,使用ADO控件之前必須將其添加到工具箱中,添加ADO控件的步驟如下: 1)在菜單欄中單擊“工程”“部件”命令,彈出“部件”對話框。 2)在“部件”對話框中選擇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ù)庫中的單個表名、一個存儲查詢或一個SQL查詢字符串。 3)CommandType屬性。指定Command對象的類型,在ADO中定義四種不同的命令類型 (2)常用方法 Refresh方法用來刷新對象,更改ADO控件的數(shù)據(jù)源屬性后,重新創(chuàng)建其Recordset對象。,10.1 Visual Basic的數(shù)據(jù)訪問方法,2ADO對象模型 在Visual Basic中使用ADO對象,首先要將ADO對象

8、加入到工程中的“引用”對話框,其方法是在菜單欄中單擊“工程”“引用”命令,在彈出的“引用”對話框中添加Microsoft ActiveX Data Objects 2.5 Library。 ADO是一個對象模型,由7個對象和4個集合組成。利用ADO訪問數(shù)據(jù)庫,首先要創(chuàng)建一個Connection對象,建立和數(shù)據(jù)庫的連接,然后利用Recordset對象或 Command對象為需要操作的數(shù)據(jù)建立記錄集,最后就可以利用Recordset對象的屬性、方法和事件來操作數(shù)據(jù)。,10.1 Visual Basic的數(shù)據(jù)訪問方法,(1)Connection對象 在Visual Basic應(yīng)用程序中主要使用這個對

9、象建立與數(shù)據(jù)庫的連接,使用方法如下: Dim ADOcn As Connection 聲明對象 Set ADOcn = New Connection 創(chuàng)建新對象 ADOcn.Open 連接字符串 建立數(shù)據(jù)庫連接 還有可以利用Connection對象對數(shù)據(jù)庫中的表進(jìn)行增加、刪除、修改等不返回結(jié)果集的操作,語法如下: ADOcn.Execute SQL語句字符串,10.1 Visual Basic的數(shù)據(jù)訪問方法,(2)Recordset對象 記錄集對象是數(shù)據(jù)表的查詢結(jié)果,通過可使用它進(jìn)行Select語句的操作,基本的使用方法如下: Dim ADOrs As New Recordset 聲明一個新的

10、Recordset對象 ADOrs.ActiveConnection = ADOcn 與ADO鏈接對象建立關(guān)聯(lián) strSQL = select * from student 拼寫SQL語句 ADOrs.Open strSQL 執(zhí)行SQL語句 ADOrs.Close 關(guān)閉記錄集對象,10.1 Visual Basic的數(shù)據(jù)訪問方法,(3)Field對象 當(dāng)使用打開記錄集后,就可以使用Field對象訪問其中的數(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對象 Command對象的用途很廣,通常用于那些不需要返回結(jié)果集的SQL語句操作,如Insert、Update和Delete。如前面學(xué)習(xí)過的ADOcn.Execute語句,就可以用Command對象替代。 Dim ADOcmd As New Command 聲明一個新的Commad對象 ADOcmd.ActiveConnection = ADOcn 與ADO鏈接對象建立關(guān)聯(lián) ADOcmd.CommandType = adCmdText 設(shè)置Commad對象的源類型 ADOcmd.CommandTex

12、t = Insert Into course values (A001, 英語, 5) 設(shè)置Commad對象的源 ADOcmd.Execute 執(zhí)行Commad對象,10.1 Visual Basic的數(shù)據(jù)訪問方法,3Recordset對象 (1)常用屬性 1)AbsolutePosition屬性。用來指定記錄集中當(dāng)前記錄號,從0開始,當(dāng)AbsolutePosition屬性值為0時(shí),當(dāng)前記錄為表中的第一條記錄。 2)RecordCount屬性。用來指定記錄集中記錄的個數(shù)。 3)Eof屬性和Bof屬性。Eof屬性用于測試記錄集中的記錄指針是否指到了末記錄之后,Bof屬性用于測試記錄集中的記錄指針

13、是否指到了末記錄之前。 (2)常用方法 1)MoveFirst方法:將記錄指針移到第一條記錄。例如執(zhí)行語句“Adodc1.RecordSet. MoveFirst”后,將記錄指針移到第一條記錄。 2)MoveLast方法:將記錄指針移到最后一條記錄。 3)MoveNext方法:將記錄指針向后移動一條記錄。 4)MovePrevious方法:將記錄指針向前移動一條記錄。 5)AddNew方法:增加一條新記錄,作為表文件的最后一條記錄。 6)Delete方法:刪除當(dāng)前記錄。 7)Update方法:更新記錄內(nèi)容。,10.1 Visual Basic的數(shù)據(jù)訪問方法,4DataGrid控件 DataGr

14、id控件是一種類似于電子數(shù)據(jù)表的綁定控件,可以顯示一系列行和列表示Recordset對象的記錄和字段。當(dāng)在設(shè)計(jì)時(shí)設(shè)置了DataGrid控件的DataSource屬性后,就會用數(shù)據(jù)源的記錄集來自動填充該控件,以及自動設(shè)置該控件的列標(biāo)頭。然后就可以編輯該網(wǎng)格的列;刪除、重新安排、添加列標(biāo)頭、或者調(diào)整任意一列的寬度。 在使用DataGrid控件前,在菜單欄中選擇“工程”“部件”命令,在彈出的對話框中勾選Microsoft DataGrid Control 6.0(SP5)(OLEDB)項(xiàng),將其添加到工具箱中。,10.1 Visual Basic的數(shù)據(jù)訪問方法,【例10-1】 利用ADO控件和Data

15、Grid控件,設(shè)計(jì)一個瀏覽學(xué)生信息的應(yīng)用程序,程序運(yùn)行界面如圖10-1所示。,圖10-1 ADO控件和DataDrid控件示例程序界面,實(shí)現(xiàn)步驟如下: 1)創(chuàng)建工程存儲目錄,例如“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、”“部件”命令,彈出“部件”對話框。 在“部件”對話框中選擇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屬性”命令,打開“屬性頁”對話框,如圖10-2所示。選擇“通用”選項(xiàng)卡,在“連接資源”選項(xiàng)組中選中“使用連接字符串”單選

17、按鈕。 單擊“生成”按鈕,打開“數(shù)據(jù)鏈接屬性”對話框,單擊“提供程序”選項(xiàng)卡,選擇“Microsoft OLE DB Provider for SQL Server”,如圖10-3所示。,圖10-2 “屬性頁”對話框之“通用”選項(xiàng)卡,圖10-3 “數(shù)據(jù)鏈接屬性”對話框之“提供程序”選項(xiàng)卡, 單擊“下一步”按鈕,切換到“數(shù)據(jù)鏈接屬性”對話框的“連接”選項(xiàng)卡,在“選擇或輸入服務(wù)器名稱”項(xiàng)中輸入服務(wù)器的名稱(此例為yujfzjtvu),在輸入登錄服務(wù)器的信息中輸入用戶名和密碼,在服務(wù)器上選擇相應(yīng)的數(shù)據(jù)庫(此例為RtvuStu),如 圖10-4所示。,圖10-4 “數(shù)據(jù)鏈接屬性”對話框之“連接”選項(xiàng)卡

18、, 單擊“確定”按鈕,返回“屬性頁”對話框,單擊“身份驗(yàn)證”選項(xiàng)卡,輸入用戶名稱和密碼,如圖10-5所示。 單擊“記錄源”選項(xiàng)卡,設(shè)置命名類型為“2-AdCmdTable”。在“表或存儲過程名稱”中選擇“Student”,如圖10-6所示。單擊“確定”按鈕,完成ADO控件的設(shè)置。,圖10-5 “屬性頁”對話框之“身份驗(yàn)證”選項(xiàng)卡,圖10-6 “屬性頁”對話框之“記錄源”選項(xiàng)卡,6)設(shè)置DataGrid控件和TextBox控件屬性(見表10-3):DataGrid控件和TextBox控件作為數(shù)據(jù)綁定控件,分別用于顯示學(xué)生表中的數(shù)據(jù)。 7)保存運(yùn)行工程:單擊“保存”按鈕,將窗體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é)生成績管理系統(tǒng)的主要任務(wù)是利用數(shù)據(jù)庫實(shí)現(xiàn)對學(xué)校所有學(xué)生、課程和成績信息的管理,主要的功能包括以下幾方面。 1)學(xué)生基本信息的錄入、修改、刪除、查詢。 2)課程基本信息的錄入、修改、刪除、查詢。 3)學(xué)生成績信息的錄入、修改、刪除、查詢。 任務(wù)目標(biāo):掌握使用VB結(jié)合SQL Server開發(fā)數(shù)據(jù)庫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論