版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1C/SVBC/SVB數(shù)據(jù)庫應用系統(tǒng)開發(fā)數(shù)據(jù)庫應用系統(tǒng)開發(fā)z數(shù)據(jù)庫應用系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫應用系統(tǒng)結(jié)構(gòu)zVisual BasicVisual Basic快速入門快速入門z開放數(shù)據(jù)庫連接(開放數(shù)據(jù)庫連接(ODBCODBC)z數(shù)據(jù)訪問接口(數(shù)據(jù)訪問接口(ADOADO)zVBVB數(shù)據(jù)庫編程舉例數(shù)據(jù)庫編程舉例zVBVB開發(fā)數(shù)據(jù)庫應用系統(tǒng)實例分析開發(fā)數(shù)據(jù)庫應用系統(tǒng)實例分析2VBVB數(shù)據(jù)庫編程舉例數(shù)據(jù)庫編程舉例z本節(jié)結(jié)合本節(jié)結(jié)合 “學生管理數(shù)據(jù)庫學生管理數(shù)據(jù)庫”以及其中的三張以及其中的三張表,利用數(shù)據(jù)訪問接口技術(shù)和表,利用數(shù)據(jù)訪問接口技術(shù)和ADO數(shù)據(jù)控件以及數(shù)據(jù)控件以及數(shù)據(jù)綁定控件,介紹在數(shù)據(jù)綁定控件,介紹在V
2、isual Basic中開發(fā)數(shù)據(jù)庫中開發(fā)數(shù)據(jù)庫應用程序的過程。應用程序的過程。 z示例示例1 z示例示例2 z示例示例3 3示例示例1 1z示例示例1 1說明說明 z示例示例1 1控件的屬性設(shè)置控件的屬性設(shè)置z示例示例1 1程序代碼程序代碼z示例示例1 1實現(xiàn)過程展示實現(xiàn)過程展示 4示例示例1 1說明說明z本示例說明如何利用本示例說明如何利用ADO數(shù)據(jù)控件實現(xiàn)對數(shù)據(jù)控件實現(xiàn)對Student表中全部數(shù)據(jù)的瀏覽,以及如何實現(xiàn)按用表中全部數(shù)據(jù)的瀏覽,以及如何實現(xiàn)按用戶指定的系查找相應學生信息的功能。數(shù)據(jù)瀏覽戶指定的系查找相應學生信息的功能。數(shù)據(jù)瀏覽方式采用單行瀏覽方式,即一次查看一條記錄。方式采用單
3、行瀏覽方式,即一次查看一條記錄。z通過本示例我們可以看到,設(shè)置好通過本示例我們可以看到,設(shè)置好ADO數(shù)據(jù)控件數(shù)據(jù)控件的屬性后,用戶不需要編制任何代碼就可以實現(xiàn)的屬性后,用戶不需要編制任何代碼就可以實現(xiàn)對數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需對數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需要編寫很少的代碼就可以實現(xiàn)對數(shù)據(jù)源的重新查要編寫很少的代碼就可以實現(xiàn)對數(shù)據(jù)源的重新查詢。詢。 5示例1窗體布局z其中其中“學號學號”、“姓名姓名”、“性別性別”、“年齡年齡”、“所在系所在系”及及“查找系查找系”用標用標簽控件(簽控件(Label)實現(xiàn)。)實現(xiàn)。z對對Student表中的各列數(shù)據(jù)用文本框控件表中的各
4、列數(shù)據(jù)用文本框控件(TextBox)實現(xiàn),界面上各文本框控件內(nèi))實現(xiàn),界面上各文本框控件內(nèi)顯示的內(nèi)容為此文本框的對象名。顯示的內(nèi)容為此文本框的對象名。zADO數(shù)據(jù)控件對象名數(shù)據(jù)控件對象名AdodcStudent。 z“查找查找”命令按鈕的對象名為命令按鈕的對象名為“cmdSearch”,“退出退出”命令按鈕的對象命令按鈕的對象名為名為“cmdExit”。 7示例示例1 1控件的屬性設(shè)置控件的屬性設(shè)置對象名對象名屬性名屬性名屬性值屬性值A(chǔ)dodcStudentConnectionString連接到連接到SQL Server的的“學生管理學生管理”數(shù)據(jù)數(shù)據(jù)庫庫CommandTypeadCmdTab
5、leRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudent DataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept8示例示例1 1程序代碼程序代碼z“退出退出”按鈕單擊(按鈕單擊(ClickClick)鼠標事件程序代碼)鼠標事件程序代碼z“查找查
6、找”按鈕單擊(按鈕單擊(ClickClick)鼠標事件程序代碼)鼠標事件程序代碼z窗體加載(窗體加載(LoadLoad事件)時初始化程序代碼事件)時初始化程序代碼9“退出退出”按鈕單擊(按鈕單擊(ClickClick)鼠標事件程序代)鼠標事件程序代碼碼Private Sub CmdExit_Click() 退出退出按鈕按鈕 End End Sub 10“查找查找”按鈕單擊(按鈕單擊(ClickClick)鼠標事件程序代)鼠標事件程序代碼碼Private Sub CmdSearch_Click() 查找查找 按鈕按鈕If Len(TxtSearchDept.Text) 0 Then 如果用戶指定
7、了系名如果用戶指定了系名 AdodcStudent.CommandType = adCmdText AdodcStudent.RecordSource = “ select * from student where Sdept = “ & Trim(TxtSearchDept.Text) & “ “ AdodcStudent.Refresh 使所設(shè)置的屬性生效使所設(shè)置的屬性生效 Else 若用戶未指定列名若用戶未指定列名 MsgBox (“請指定要查找的系請指定要查找的系”) 則提示用戶輸入系名則提示用戶輸入系名 End IfEnd Sub 11窗體加載(窗體加載(LoadLo
8、ad事件)時初始化程序代碼事件)時初始化程序代碼Private Sub Form_Load() 窗體加載時初始化查找系的內(nèi)容窗體加載時初始化查找系的內(nèi)容 初始化要查找的系為空初始化要查找的系為空 TxtSearchDept.Text = End Sub12示例示例1 1實現(xiàn)過程展示實現(xiàn)過程展示設(shè)置控件和屬性設(shè)置控件和屬性13編寫程序代碼編寫程序代碼14執(zhí)行程序觀察結(jié)果執(zhí)行程序觀察結(jié)果觀察查找前后的結(jié)果觀察查找前后的結(jié)果16示例示例2 2z示例示例2 2說明說明 z示例示例2 2控件的屬性設(shè)置控件的屬性設(shè)置z示例示例2 2程序代碼程序代碼z示例示例2 2實現(xiàn)過程展示實現(xiàn)過程展示17示例示例2 2
9、說明說明z 示例示例2在示例在示例1的基礎(chǔ)上增加了兩組供用戶操作的按鈕。的基礎(chǔ)上增加了兩組供用戶操作的按鈕。z 一組是為了說明如何實現(xiàn)數(shù)據(jù)更改操作,即如何使用一組是為了說明如何實現(xiàn)數(shù)據(jù)更改操作,即如何使用Recordset對象的對象的AddNew、Update、Delete和和CancelUpdate方法;方法;z 另一組是為了說明如何編程控制結(jié)果集中瀏覽記錄的移動,另一組是為了說明如何編程控制結(jié)果集中瀏覽記錄的移動,即如何使用即如何使用Recordset對象的對象的Move方法組。方法組。 z 在這個示例中我們不使用在這個示例中我們不使用ADO數(shù)據(jù)庫控件移動記錄,而數(shù)據(jù)庫控件移動記錄,而是使
10、用四個命令按鈕實現(xiàn)此功能,因此在運行時將是使用四個命令按鈕實現(xiàn)此功能,因此在運行時將ADO數(shù)據(jù)控件隱藏起來。數(shù)據(jù)控件隱藏起來。 18示例示例2窗體布局窗體布局z新增各命令按鈕控件的對象名分別為:新增各命令按鈕控件的對象名分別為:y “添加添加”命令按鈕:命令按鈕:cmdAddy “刪除刪除”命令按鈕:命令按鈕:cmdDely “更新更新”命令按鈕:命令按鈕:cmdUpdatey “取消取消”命令按鈕:命令按鈕:cmdCancely “第一條第一條”命令按鈕:命令按鈕:cmdFirsty “上一條上一條”命令按鈕:命令按鈕:cmdPreviousy “下一條下一條”命令按鈕:命令按鈕:cmdNe
11、xty “末一條末一條”命令按鈕:命令按鈕:cmdLasty“退出退出”命令按鈕:命令按鈕:cmdExit 20示例示例2 2控件的屬性設(shè)置控件的屬性設(shè)置z示例示例2窗體上的窗體上的ADO數(shù)據(jù)控件以及各文本數(shù)據(jù)控件以及各文本框控件的屬性設(shè)置同示例框控件的屬性設(shè)置同示例1。z為了在運行時隱藏為了在運行時隱藏ADO數(shù)據(jù)控件,我們將數(shù)據(jù)控件,我們將AdodcStudent的的Visible屬性設(shè)置為:屬性設(shè)置為:False。 21示例示例2 2程序代碼程序代碼z 窗體啟動時的初始化代碼窗體啟動時的初始化代碼z 數(shù)據(jù)操作按鈕組代碼數(shù)據(jù)操作按鈕組代碼y“添加添加”命令按鈕命令按鈕y“取消取消”命令按鈕命
12、令按鈕 y“刪除刪除”命令按鈕命令按鈕 y“更新更新”命令按鈕命令按鈕 z 移動指針方法組代碼移動指針方法組代碼 y“第一條第一條”命令按鈕命令按鈕 y“末一條末一條”命令按鈕命令按鈕y“下一條下一條”命令按鈕命令按鈕 y“上一條上一條”命令按鈕命令按鈕 z 結(jié)束程序代碼結(jié)束程序代碼 22窗體啟動時的初始化代碼窗體啟動時的初始化代碼Private Sub Form_Load() 初始時使初始時使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdCancel.Enabled = FalseEnd Sub23“添加添加”命令按鈕命令按鈕Private Sub CmdAdd_Click() “ “
13、添加添加”命令按鈕命令按鈕 AdodcStudent.Recordset.AddNew 使使“添加添加”和和“刪除刪除”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdAdd.Enabled = False CmdDel.Enabled = False 使使“更改更改”和和“取消取消”按鈕為可用狀態(tài)按鈕為可用狀態(tài) CmdUpdate.Enabled = True CmdCancel.Enabled = TrueEnd Sub24“取消取消”命令按鈕命令按鈕Private Sub CmdCancel_Click() “ “取消取消”命令按命令按鈕鈕 AdodcStudent.Recordset.Canc
14、elUpdate 使使“添加添加”和和“刪除刪除”按鈕為可用狀態(tài)按鈕為可用狀態(tài) CmdAdd.Enabled = True CmdDel.Enabled = True 使使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdCancel.Enabled = False End Sub25“刪除刪除”命令按鈕命令按鈕Private Sub CmdDel_Click() “ “刪除刪除”命令按鈕命令按鈕 Dim res As Integer res = MsgBox(確實要刪除此行記錄嗎?確實要刪除此行記錄嗎?, _ vbExclamation + vbYesNo + vbDefaultButto
15、n2) 提示用戶提示用戶 If res = vbYes Then 如果確實要刪除如果確實要刪除 AdodcStudent.Recordset.Delete AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End If End IfEnd Sub26“更新更新”命令按鈕命令按鈕Private Sub CmdUpdate_Click() “更新更新”命令按鈕命令按鈕 將文本框中的當前值寫入結(jié)果集相應字段中將文本框中的當前值寫入結(jié)果集相應
16、字段中 AdodcStudent.Recordset.Fields(Sno) = Trim(TxtSno.Text) AdodcStudent.Recordset.Fields(Sname) = Trim(TxtSname.Text) AdodcStudent.Recordset.Fields(Ssex) = Trim(TxtSsex.Text) AdodcStudent.Recordset.Fields(Sage) = CInt(Trim(TxtSage.Text) AdodcStudent.Recordset.Fields(Sdept) = Trim(TxtSdept.Text) Adod
17、cStudent.Recordset.Update 使更新生效使更新生效 使使“添加添加”和和“刪除刪除”按鈕為可用狀態(tài)按鈕為可用狀態(tài) CmdAdd.Enabled = True CmdDel.Enabled = True CmdCancel.Enabled = False 使使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài)End Sub27“第一條第一條”命令按鈕命令按鈕 “ “第一條第一條”命令按鈕命令按鈕Private Sub CmdFirst_Click() AdodcStudent.Recordset.MoveFirstEnd Sub28“末一條末一條”命令按鈕命令按鈕 “ “末一條末
18、一條”命令按鈕命令按鈕Private Sub CmdLast_Click() AdodcStudent.Recordset.MoveLastEnd Sub29“下一條下一條”命令按鈕命令按鈕 “ “下一條下一條”命令按鈕命令按鈕Private Sub CmdNext_Click() AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then 如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行 AdodcStudent.Recordset.MoveLast E
19、nd IfEnd Sub30“上一條上一條”命令按鈕命令按鈕 “ “上一條上一條”命令按鈕命令按鈕Private Sub CmdPrevious_Click() AdodcStudent.Recordset.MovePrevious If AdodcStudent.Recordset.BOF = True Then 如果已經(jīng)移到了第一行之前,則將指針定位在第一行如果已經(jīng)移到了第一行之前,則將指針定位在第一行 AdodcStudent.Recordset.MoveFirst End IfEnd Sub 31結(jié)束程序代碼結(jié)束程序代碼 “ “退出退出”命令按鈕命令按鈕Private Sub CmdE
20、xit_Click() EndEnd Sub32示例示例2 2實現(xiàn)過程展示實現(xiàn)過程展示設(shè)置控件和屬性設(shè)置控件和屬性33編寫程序代碼編寫程序代碼34執(zhí)行程序觀察結(jié)果執(zhí)行程序觀察結(jié)果35示例示例3 3z示例示例3 3說明說明 z示例示例3 3控件的屬性設(shè)置控件的屬性設(shè)置z示例示例3 3程序代碼程序代碼z示例示例3 3實現(xiàn)過程展示實現(xiàn)過程展示36示例示例3 3說明說明z示例示例3在示例在示例1的基礎(chǔ)上增加了一個窗體,這個窗的基礎(chǔ)上增加了一個窗體,這個窗體用體用DataGrid控件顯示數(shù)據(jù)??丶@示數(shù)據(jù)。z示例示例3中的兩個窗體的布局分別圖中的兩個窗體的布局分別圖1和圖和圖2所示。所示。圖圖1 For
21、m1布局布局圖圖2 Form2布局布局z在圖所示的在圖所示的Form1上,當用戶單擊上,當用戶單擊“查找查找”命令按鈕時,顯示命令按鈕時,顯示Form2。zForm2上上DataGrid中的數(shù)據(jù)是根據(jù)中的數(shù)據(jù)是根據(jù)Form1中當前顯示的學號值去查找此學生的姓名、中當前顯示的學號值去查找此學生的姓名、所修的課程名、課程的學分以及考試成績。所修的課程名、課程的學分以及考試成績。z在在Form2上單擊上單擊“返回返回”命令按鈕(對象命令按鈕(對象名為名為cmdReturn),可以返回到),可以返回到Form1,并,并且同時卸載且同時卸載Form2。 38示例示例3 3控件的屬性設(shè)置控件的屬性設(shè)置zF
22、orm1窗體上各控件屬性的設(shè)置同示例窗體上各控件屬性的設(shè)置同示例1。zForm2窗體窗體yDataGrid數(shù)據(jù)綁定數(shù)據(jù)綁定控件的對象名為:控件的對象名為:dtgCondxDtgCond控件的列屬性在程序代碼中設(shè)置??丶牧袑傩栽诔绦虼a中設(shè)置。yADO數(shù)據(jù)控件名為:數(shù)據(jù)控件名為:AdodcGridxConnectionString屬性的值同示例屬性的值同示例1的的AdodcStudentxCommandType和和RecordSource屬性我們在程序代碼屬性我們在程序代碼中設(shè)置。中設(shè)置。39示例示例3 3程序代碼程序代碼zForm1上的上的“查找查找”和和“退出退出”命令按鈕命令按鈕代碼代碼
23、z Form2上的代碼上的代碼yForm2上上的的初始化初始化dtgCond控件代碼控件代碼yForm2上的上的Load事件代碼事件代碼yForm2上上“返回返回”按鈕代碼按鈕代碼40Form1Form1上的上的“查找查找”和和“退出退出”命令按鈕代命令按鈕代碼碼Private Sub CmdExit_Click() 退出退出 按鈕按鈕 EndEnd Sub Private Sub CmdSearch_Click() 查找查找 按鈕按鈕 Form2.Show 顯示顯示Form2Form2窗體窗體End SubForm2Form2上的初始化上的初始化dtgConddtgCond控件代碼控件代碼P
24、rivate Sub InitGrid() 初始化初始化dtgConddtgCond控件控件 With DtgCond 設(shè)置設(shè)置DtgCondDtgCond的列標題的列標題 .Columns(0).Caption = 學號學號 .Columns(1).Caption = 課程名課程名 .Columns(2).Caption = 學分學分 .Columns(3).Caption = 成績成績 設(shè)置設(shè)置DtgCondDtgCond的列寬的列寬 .Columns(0).Width = 1000 .Columns(1).Width = 2000 .Columns(2).Width = 800 .Columns(3).Width = 800 End WithEnd SubForm2Form2上的上的LoadLoad事件代碼事件代碼Private Sub Form_Load() Dim strSno As String Dim strSelect As String strSno = Trim(For
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國智能門鎖行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 新形勢下汽車服務行業(yè)快速做大市場規(guī)模戰(zhàn)略制定與實施研究報告
- 考察學習“百千萬工程”、現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)發(fā)展工作情況報告
- 2024年自來水市場調(diào)查報告
- 2025年中國珠海旅游業(yè)行業(yè)市場運行態(tài)勢及投資戰(zhàn)略咨詢研究報告
- 湖北省武漢市江漢區(qū)2023-2024學年化學九年級上學期末試卷
- 跨境財稅知識培訓課件
- 2025版12333養(yǎng)老保險政策解讀與操作流程合同3篇
- 地方政府對中央政策響應差異化的影響因素及機制分析-基于醫(yī)保支付方式改革的多案例比較
- 二零二五年度房產(chǎn)抵押權(quán)抵押權(quán)證合同3篇
- 選調(diào)生培訓心得體會集合6篇
- 電商培訓兼職教師聘用合同
- 《地鐵車站突發(fā)事件應急工作規(guī)范》
- 初級招標采購從業(yè)人員《招標采購法律法規(guī)》近年考試真題試題庫(含答案)
- 護欄圍擋制作安裝合同
- 財稅公司合同范本
- 臨時用電電纜線租賃合同
- DB34T4829-2024公路工程泡沫輕質(zhì)土設(shè)計與施工技術(shù)規(guī)程
- 抗腫瘤藥物臨床管理辦法培訓
- 各部門月度安全環(huán)??荚u細則
- 預防性侵害安全教育
評論
0/150
提交評論