用VB開發(fā)數(shù)據(jù)庫應(yīng)用程序3實(shí)例_第1頁
用VB開發(fā)數(shù)據(jù)庫應(yīng)用程序3實(shí)例_第2頁
用VB開發(fā)數(shù)據(jù)庫應(yīng)用程序3實(shí)例_第3頁
用VB開發(fā)數(shù)據(jù)庫應(yīng)用程序3實(shí)例_第4頁
用VB開發(fā)數(shù)據(jù)庫應(yīng)用程序3實(shí)例_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論