版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C/SC/SVBVB數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)z數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用系統(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ù)庫應(yīng)用系統(tǒng)實(shí)例分析開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)實(shí)例分析VBVB數(shù)據(jù)庫編程舉例數(shù)據(jù)庫編程舉例z本節(jié)結(jié)合本節(jié)結(jié)合 “ “學(xué)生管理數(shù)據(jù)庫學(xué)生管理數(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ù)庫應(yīng)用程序的過程。應(yīng)用程序的過程。 z示例示例1 z示例示例2 z示例示例3 示例示例1 1z示例示例1 1說明說明 z示例示例1 1控件的屬性設(shè)置控件的屬性設(shè)置z示例示例1 1程序代碼程序代碼z示例示例1 1實(shí)現(xiàn)過程展示實(shí)現(xiàn)過程展示 示例示例1 1說明說明z本示例說明如何利用本示例說明如何利用ADO數(shù)據(jù)控件實(shí)現(xiàn)對數(shù)據(jù)控件實(shí)現(xiàn)對Student表中全部數(shù)據(jù)的瀏覽,以及如何實(shí)現(xiàn)按用表中全部數(shù)據(jù)的瀏覽,以及如何實(shí)現(xiàn)按用戶指定的系查找相應(yīng)學(xué)生信息的功能。數(shù)據(jù)瀏覽戶指定的系查找相應(yīng)學(xué)生信息的功能。數(shù)據(jù)瀏覽方式采用單行瀏覽方式,即一次查看一條記錄。方式采用單行瀏
3、覽方式,即一次查看一條記錄。z通過本示例我們可以看到,設(shè)置好通過本示例我們可以看到,設(shè)置好ADO數(shù)據(jù)控件數(shù)據(jù)控件的屬性后,用戶不需要編制任何代碼就可以實(shí)現(xiàn)的屬性后,用戶不需要編制任何代碼就可以實(shí)現(xiàn)對數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需對數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需要編寫很少的代碼就可以實(shí)現(xiàn)對數(shù)據(jù)源的重新查要編寫很少的代碼就可以實(shí)現(xiàn)對數(shù)據(jù)源的重新查詢。詢。 示例1窗體布局z其中其中“學(xué)號學(xué)號”、“姓名姓名”、“性別性別”、“年齡年齡”、“所在系所在系”及及“查找系查找系”用標(biāo)用標(biāo)簽控件(簽控件(Label)實(shí)現(xiàn)。)實(shí)現(xiàn)。z對對Student表中的各列數(shù)據(jù)用文本框控件表中的各列數(shù)據(jù)
4、用文本框控件(TextBox)實(shí)現(xiàn),界面上各文本框控件內(nèi))實(shí)現(xiàn),界面上各文本框控件內(nèi)顯示的內(nèi)容為此文本框的對象名。顯示的內(nèi)容為此文本框的對象名。zADO數(shù)據(jù)控件對象名數(shù)據(jù)控件對象名AdodcStudent。 z“查找查找”命令按鈕的對象名為命令按鈕的對象名為“cmdSearch”,“退出退出”命令按鈕的對象命令按鈕的對象名為名為“cmdExit”。 示例示例1 1控件的屬性設(shè)置控件的屬性設(shè)置對象名對象名屬性名屬性名屬性值屬性值A(chǔ)dodcStudentConnectionString連接到連接到SQL Server的的“學(xué)生管理學(xué)生管理”數(shù)據(jù)數(shù)據(jù)庫庫CommandTypeadCmdTableRe
5、cordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudent DataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept示例示例1 1程序代碼程序代碼z“退出退出”按鈕單擊(按鈕單擊(ClickClick)鼠標(biāo)事件程序代碼)鼠標(biāo)事件程序代碼z“查找查找”按鈕單
6、擊(按鈕單擊(ClickClick)鼠標(biāo)事件程序代碼)鼠標(biāo)事件程序代碼z窗體加載(窗體加載(LoadLoad事件)時(shí)初始化程序代碼事件)時(shí)初始化程序代碼“退出退出”按鈕單擊(按鈕單擊(ClickClick)鼠標(biāo)事件程序代)鼠標(biāo)事件程序代碼碼Private Sub CmdExit_Click() 退出退出按鈕按鈕 End End Sub “查找查找”按鈕單擊(按鈕單擊(ClickClick)鼠標(biāo)事件程序代)鼠標(biāo)事件程序代碼碼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 窗體加載(窗體加載(LoadLoad事件)時(shí)初始化程序代碼事件)時(shí)初
8、始化程序代碼Private Sub Form_Load() 窗體加載時(shí)初始化查找系的內(nèi)容窗體加載時(shí)初始化查找系的內(nèi)容 初始化要查找的系為空初始化要查找的系為空 TxtSearchDept.Text = End Sub示例示例1 1實(shí)現(xiàn)過程展示實(shí)現(xiàn)過程展示設(shè)置控件和屬性設(shè)置控件和屬性編寫程序代碼編寫程序代碼執(zhí)行程序觀察結(jié)果執(zhí)行程序觀察結(jié)果觀察查找前后的結(jié)果觀察查找前后的結(jié)果示例示例2 2z示例示例2 2說明說明 z示例示例2 2控件的屬性設(shè)置控件的屬性設(shè)置z示例示例2 2程序代碼程序代碼z示例示例2 2實(shí)現(xiàn)過程展示實(shí)現(xiàn)過程展示示例示例2 2說明說明z 示例示例2在示例在示例1的基礎(chǔ)上增加了兩組供
9、用戶操作的按鈕。的基礎(chǔ)上增加了兩組供用戶操作的按鈕。z 一組是為了說明如何實(shí)現(xiàn)數(shù)據(jù)更改操作,即如何使用一組是為了說明如何實(shí)現(xiàn)數(shù)據(jù)更改操作,即如何使用Recordset對象的對象的AddNew、Update、Delete和和CancelUpdate方法;方法;z 另一組是為了說明如何編程控制結(jié)果集中瀏覽記錄的移動(dòng),另一組是為了說明如何編程控制結(jié)果集中瀏覽記錄的移動(dòng),即如何使用即如何使用Recordset對象的對象的Move方法組。方法組。 z 在這個(gè)示例中我們不使用在這個(gè)示例中我們不使用ADO數(shù)據(jù)庫控件移動(dòng)記錄,而數(shù)據(jù)庫控件移動(dòng)記錄,而是使用四個(gè)命令按鈕實(shí)現(xiàn)此功能,因此在運(yùn)行時(shí)將是使用四個(gè)命令按
10、鈕實(shí)現(xiàn)此功能,因此在運(yùn)行時(shí)將ADO數(shù)據(jù)控件隱藏起來。數(shù)據(jù)控件隱藏起來。 示例示例2窗體布局窗體布局z新增各命令按鈕控件的對象名分別為:新增各命令按鈕控件的對象名分別為:y “添加添加”命令按鈕:命令按鈕:cmdAddy “刪除刪除”命令按鈕:命令按鈕:cmdDely “更新更新”命令按鈕:命令按鈕:cmdUpdatey “取消取消”命令按鈕:命令按鈕:cmdCancely “第一條第一條”命令按鈕:命令按鈕:cmdFirsty “上一條上一條”命令按鈕:命令按鈕:cmdPreviousy “下一條下一條”命令按鈕:命令按鈕:cmdNexty “末一條末一條”命令按鈕:命令按鈕:cmdLasty
11、“退出退出”命令按鈕:命令按鈕:cmdExit 示例示例2 2控件的屬性設(shè)置控件的屬性設(shè)置z示例示例2窗體上的窗體上的ADO數(shù)據(jù)控件以及各文本數(shù)據(jù)控件以及各文本框控件的屬性設(shè)置同示例框控件的屬性設(shè)置同示例1。z為了在運(yùn)行時(shí)隱藏為了在運(yùn)行時(shí)隱藏ADO數(shù)據(jù)控件,我們將數(shù)據(jù)控件,我們將AdodcStudent的的Visible屬性設(shè)置為:屬性設(shè)置為:False。 示例示例2 2程序代碼程序代碼z 窗體啟動(dòng)時(shí)的初始化代碼窗體啟動(dòng)時(shí)的初始化代碼z 數(shù)據(jù)操作按鈕組代碼數(shù)據(jù)操作按鈕組代碼y“添加添加”命令按鈕命令按鈕y“取消取消”命令按鈕命令按鈕 y“刪除刪除”命令按鈕命令按鈕 y“更新更新”命令按鈕命令按
12、鈕 z 移動(dòng)指針方法組代碼移動(dòng)指針方法組代碼 y“第一條第一條”命令按鈕命令按鈕 y“末一條末一條”命令按鈕命令按鈕y“下一條下一條”命令按鈕命令按鈕 y“上一條上一條”命令按鈕命令按鈕 z 結(jié)束程序代碼結(jié)束程序代碼 窗體啟動(dòng)時(shí)的初始化代碼窗體啟動(dòng)時(shí)的初始化代碼Private Sub Form_Load() 初始時(shí)使初始時(shí)使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdCancel.Enabled = FalseEnd Sub“添加添加”命令按鈕命令按鈕Private Sub CmdAdd_Click() “ “添加添加”命令按鈕命令按鈕 AdodcStudent.Recordset.A
13、ddNew 使使“添加添加”和和“刪除刪除”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdAdd.Enabled = False CmdDel.Enabled = False 使使“更改更改”和和“取消取消”按鈕為可用狀態(tài)按鈕為可用狀態(tài) CmdUpdate.Enabled = True CmdCancel.Enabled = TrueEnd Sub“取消取消”命令按鈕命令按鈕Private Sub CmdCancel_Click() “ “取消取消”命令按命令按鈕鈕 AdodcStudent.Recordset.CancelUpdate 使使“添加添加”和和“刪除刪除”按鈕為可用狀態(tài)按鈕為可用狀態(tài)
14、CmdAdd.Enabled = True CmdDel.Enabled = True 使使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài) CmdCancel.Enabled = False End Sub“刪除刪除”命令按鈕命令按鈕Private Sub CmdDel_Click() “ “刪除刪除”命令按鈕命令按鈕 Dim res As Integer res = MsgBox(確實(shí)要?jiǎng)h除此行記錄嗎?確實(shí)要?jiǎng)h除此行記錄嗎?, _ vbExclamation + vbYesNo + vbDefaultButton2) 提示用戶提示用戶 If res = vbYes Then 如果確實(shí)要?jiǎng)h除如果
15、確實(shí)要?jiǎng)h除 AdodcStudent.Recordset.Delete AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End If End IfEnd Sub“更新更新”命令按鈕命令按鈕Private Sub CmdUpdate_Click() “更新更新”命令按鈕命令按鈕 將文本框中的當(dāng)前值寫入結(jié)果集相應(yīng)字段中將文本框中的當(dāng)前值寫入結(jié)果集相應(yīng)字段中 AdodcStudent.Recordset.Fields(Sno) = Tri
16、m(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) AdodcStudent.Recordset.Update 使更新生效使更新生效 使使“添加添加
17、”和和“刪除刪除”按鈕為可用狀態(tài)按鈕為可用狀態(tài) CmdAdd.Enabled = True CmdDel.Enabled = True CmdCancel.Enabled = False 使使“取消取消”按鈕為不可用狀態(tài)按鈕為不可用狀態(tài)End Sub“第一條第一條”命令按鈕命令按鈕 “ “第一條第一條”命令按鈕命令按鈕Private Sub CmdFirst_Click() AdodcStudent.Recordset.MoveFirstEnd Sub“末一條末一條”命令按鈕命令按鈕 “ “末一條末一條”命令按鈕命令按鈕Private Sub CmdLast_Click() AdodcStud
18、ent.Recordset.MoveLastEnd Sub“下一條下一條”命令按鈕命令按鈕 “ “下一條下一條”命令按鈕命令按鈕Private Sub CmdNext_Click() AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then 如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行 AdodcStudent.Recordset.MoveLast End IfEnd Sub“上一條上一條”命令按鈕命令按鈕 “ “上一條上一條”命令按鈕命令按鈕Pri
19、vate Sub CmdPrevious_Click() AdodcStudent.Recordset.MovePrevious If AdodcStudent.Recordset.BOF = True Then 如果已經(jīng)移到了第一行之前,則將指針定位在第一行如果已經(jīng)移到了第一行之前,則將指針定位在第一行 AdodcStudent.Recordset.MoveFirst End IfEnd Sub 結(jié)束程序代碼結(jié)束程序代碼 “ “退出退出”命令按鈕命令按鈕Private Sub CmdExit_Click() EndEnd Sub示例示例2 2實(shí)現(xiàn)過程展示實(shí)現(xiàn)過程展示設(shè)置控件和屬性設(shè)置控件和屬
20、性編寫程序代碼編寫程序代碼執(zhí)行程序觀察結(jié)果執(zhí)行程序觀察結(jié)果示例示例3 3z示例示例3 3說明說明 z示例示例3 3控件的屬性設(shè)置控件的屬性設(shè)置z示例示例3 3程序代碼程序代碼z示例示例3 3實(shí)現(xiàn)過程展示實(shí)現(xiàn)過程展示示例示例3 3說明說明z示例示例3在示例在示例1的基礎(chǔ)上增加了一個(gè)窗體,這個(gè)窗的基礎(chǔ)上增加了一個(gè)窗體,這個(gè)窗體用體用DataGrid控件顯示數(shù)據(jù)??丶@示數(shù)據(jù)。z示例示例3中的兩個(gè)窗體的布局分別圖中的兩個(gè)窗體的布局分別圖1和圖和圖2所示。所示。圖圖1 Form1布局布局圖圖2 Form2布局布局z在圖所示的在圖所示的Form1上,當(dāng)用戶單擊上,當(dāng)用戶單擊“查找查找”命令按鈕時(shí),顯示命
21、令按鈕時(shí),顯示Form2。zForm2上上DataGrid中的數(shù)據(jù)是根據(jù)中的數(shù)據(jù)是根據(jù)Form1中當(dāng)前顯示的學(xué)號值去查找此學(xué)生的姓名、中當(dāng)前顯示的學(xué)號值去查找此學(xué)生的姓名、所修的課程名、課程的學(xué)分以及考試成績。所修的課程名、課程的學(xué)分以及考試成績。z在在Form2上單擊上單擊“返回返回”命令按鈕(對象命令按鈕(對象名為名為cmdReturn),可以返回到),可以返回到Form1,并,并且同時(shí)卸載且同時(shí)卸載Form2。 示例示例3 3控件的屬性設(shè)置控件的屬性設(shè)置zForm1窗體上各控件屬性的設(shè)置同示例窗體上各控件屬性的設(shè)置同示例1。zForm2窗體窗體yDataGrid數(shù)據(jù)綁定數(shù)據(jù)綁定控件的對象
22、名為:控件的對象名為:dtgCondxDtgCond控件的列屬性在程序代碼中設(shè)置??丶牧袑傩栽诔绦虼a中設(shè)置。yADO數(shù)據(jù)控件名為:數(shù)據(jù)控件名為:AdodcGridxConnectionString屬性的值同示例屬性的值同示例1的的AdodcStudentxCommandType和和RecordSource屬性我們在程序代碼屬性我們在程序代碼中設(shè)置。中設(shè)置。示例示例3 3程序代碼程序代碼zForm1上的上的“查找查找”和和“退出退出”命令按鈕命令按鈕代碼代碼z Form2上的代碼上的代碼yForm2上上的的初始化初始化dtgCond控件代碼控件代碼yForm2上的上的Load事件代碼事件代碼
23、yForm2上上“返回返回”按鈕代碼按鈕代碼Form1Form1上的上的“查找查找”和和“退出退出”命令按鈕代命令按鈕代碼碼Private Sub CmdExit_Click() 退出退出 按鈕按鈕 EndEnd Sub Private Sub CmdSearch_Click() 查找查找 按鈕按鈕 Form2.Show 顯示顯示Form2Form2窗體窗體End SubForm2Form2上上的的初始化初始化dtgConddtgCond控件代碼控件代碼Private Sub InitGrid() 初始化初始化dtgConddtgCond控件控件 With DtgCond 設(shè)置設(shè)置DtgCon
24、dDtgCond的列標(biāo)題的列標(biāo)題 .Columns(0).Caption = 學(xué)號學(xué)號 .Columns(1).Caption = 課程名課程名 .Columns(2).Caption = 學(xué)分學(xué)分 .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
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年客運(yùn)員考試題目及答案
- 2024年湖北客運(yùn)考試口訣圖片
- 2024年衡水客運(yùn)從業(yè)資格證模擬考試
- 2024年西寧客運(yùn)資格證考試題目及答案詳解
- 2024年酒泉道路旅客運(yùn)輸駕駛員從業(yè)資格模擬試題
- 2024年貴陽客運(yùn)急救知識培訓(xùn)
- 2024年廣東客運(yùn)從業(yè)資格證考什么內(nèi)容好
- 青島市第十五屆職業(yè)技能大賽技術(shù)文件-農(nóng)作物植保員
- 船舶租賃合同:游艇
- 教育論壇舞臺租賃協(xié)議
- 裝配圖畫法及要求課件
- 翻譯實(shí)習(xí)教學(xué)大綱
- 心力衰竭-英文版課件
- 邀請回國探親邀請函范本
- 留置胃管與胃腸減壓術(shù)課件
- 黃金分割在生活中的應(yīng)用結(jié)題報(bào)告課件
- 抗帕金森病藥物 課件
- A5技術(shù)支持的課堂導(dǎo)入作業(yè)2-課堂導(dǎo)入設(shè)計(jì):小學(xué)數(shù)學(xué)《圓的面積》針對選定的主題請?zhí)峤灰环葸\(yùn)用信息技術(shù)手段支持的課堂導(dǎo)入設(shè)計(jì)須清晰地說明導(dǎo)入目的和媒體資源工具
- 員工頂崗的管理規(guī)定
- 手性藥物課件
- 新能源小客車購車充電條件確認(rèn)書
評論
0/150
提交評論