《用vb开发数据库应用程序实例讲稿.ppt》由会员分享,可在线阅读,更多相关《用vb开发数据库应用程序实例讲稿.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于用VB开发数据库应用程序实例第一页,讲稿共四十八页哦VBVBVBVB数据库编程举例数据库编程举例数据库编程举例数据库编程举例z本节结合本节结合“学生管理数据库学生管理数据库”以及其中的三张表,利以及其中的三张表,利用数据访问接口技术和用数据访问接口技术和ADO数据控件以及数据绑定控数据控件以及数据绑定控件,介绍在件,介绍在VisualBasic中开发数据库应用程序的过中开发数据库应用程序的过程。程。z示例示例1 z示例示例2 z示例示例3 第二页,讲稿共四十八页哦示例示例示例示例1 1 1 1z示例示例1 1说明说明 z示例示例1 1控件的属性设置控件的属性设置z示例示例1 1程序代码程序
2、代码z示例示例1 1实现过程展示实现过程展示 第三页,讲稿共四十八页哦示例示例1 1说明说明z本本示示例例说说明明如如何何利利用用ADO数数据据控控件件实实现现对对Student表表中中全全部部数数据据的的浏浏览览,以以及及如如何何实实现现按按用用户户指指定定的的系系查查找找相相应应学学生生信信息息的的功功能能。数数据据浏浏览览方方式式采采用用单单行行浏浏览览方方式式,即一次查看一条记录。即一次查看一条记录。z通过本示例我们可以看到,设置好通过本示例我们可以看到,设置好ADO数据控件的属数据控件的属性后,用户不需要编制任何代码就可以实现对数据的查性后,用户不需要编制任何代码就可以实现对数据的查
3、询。如果查找条件变化了,用户只需要编写很少的代码询。如果查找条件变化了,用户只需要编写很少的代码就可以实现对数据源的重新查询。就可以实现对数据源的重新查询。第四页,讲稿共四十八页哦示例1窗体布局第五页,讲稿共四十八页哦z其中其中“学号学号”、“姓名姓名”、“性别性别”、“年龄年龄”、“所在系所在系”及及“查找系查找系”用标签控件(用标签控件(Label)实现。实现。z对对Student表中的各列数据用文本框控件表中的各列数据用文本框控件(TextBox)实现,界面上各文本框控件内显)实现,界面上各文本框控件内显示的内容为此文本框的对象名。示的内容为此文本框的对象名。zADO数据控件对象名数据控
4、件对象名AdodcStudent。z“查找查找”命令按钮的对象名为命令按钮的对象名为“cmdSearch”,“退出退出”命令按钮的对象名为命令按钮的对象名为“cmdExit”。第六页,讲稿共四十八页哦示例示例1 1控件的属性设置控件的属性设置对象名对象名属性名属性名属性值属性值AdodcStudentConnectionString连连接接到到SQLServer的的“学学生生管管理理”数数据据库库CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAd
5、odcStudentDataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept第七页,讲稿共四十八页哦示例示例1 1程序代码程序代码z“退出退出”按钮单击(按钮单击(ClickClick)鼠标事件程序代码)鼠标事件程序代码z“查找查找”按钮单击(按钮单击(ClickClick)鼠标事件程序代码)鼠标事件程序代码z窗体加载(窗体加载(LoadLoad事件)时初始化程序代码事
6、件)时初始化程序代码第八页,讲稿共四十八页哦“退出退出”按钮单击(按钮单击(ClickClick)鼠标事件程序代码)鼠标事件程序代码PrivateSubCmdExit_Click()退出退出按钮按钮EndEndSub 第九页,讲稿共四十八页哦“查找查找”按钮单击(按钮单击(ClickClick)鼠标事件程序代码)鼠标事件程序代码PrivateSubCmdSearch_Click()查找查找 按钮按钮IfLen(TxtSearchDept.Text)0Then 如果用户指定了系名如果用户指定了系名AdodcStudent.CommandType=adCmdTextAdodcStudent.Rec
7、ordSource=“select*fromstudentwhereSdept=“&Trim(TxtSearchDept.Text)&“AdodcStudent.Refresh 使所设置的属性生效使所设置的属性生效Else 若用户未指定列名若用户未指定列名MsgBox(“请指定要查找的系请指定要查找的系”)则提示用户输入系名则提示用户输入系名EndIfEndSub 第十页,讲稿共四十八页哦窗体加载(窗体加载(LoadLoad事件)时初始化程序代码事件)时初始化程序代码Private Sub Form_Load()窗体加载时初始化查找系的内容窗体加载时初始化查找系的内容 初始化要查找的系为空初始
8、化要查找的系为空 TxtSearchDept.Text=End Sub第十一页,讲稿共四十八页哦示例示例1 1实现过程展示实现过程展示设设置置控控件件和和属属性性第十二页,讲稿共四十八页哦编编写写程程序序代代码码第十三页,讲稿共四十八页哦执执行行程程序序观观察察结结果果第十四页,讲稿共四十八页哦观观察察查查找找前前后后的的结结果果第十五页,讲稿共四十八页哦示例示例示例示例2 2 2 2z示例示例2 2说明说明 z示例示例2 2控件的属性设置控件的属性设置z示例示例2 2程序代码程序代码z示例示例2 2实现过程展示实现过程展示第十六页,讲稿共四十八页哦示例示例2 2说明说明z示例示例2在示例在示
9、例1的基础上增加了两组供用户操作的按钮。的基础上增加了两组供用户操作的按钮。z一组是为了说明如何实现数据更改操作,即如何使用一组是为了说明如何实现数据更改操作,即如何使用Recordset对象的对象的AddNew、Update、Delete和和CancelUpdate方方法;法;z另一组是为了说明如何编程控制结果集中浏览记录的移动,另一组是为了说明如何编程控制结果集中浏览记录的移动,即如何使用即如何使用Recordset对象的对象的Move方法组。方法组。z在这个示例中我们不使用在这个示例中我们不使用ADO数据库控件移动记录,而是使用四数据库控件移动记录,而是使用四个命令按钮实现此功能,因此在
10、运行时将个命令按钮实现此功能,因此在运行时将ADO数据控件隐藏起来。数据控件隐藏起来。第十七页,讲稿共四十八页哦示例示例2窗体布局窗体布局第十八页,讲稿共四十八页哦z新增各命令按钮控件的对象名分别为:新增各命令按钮控件的对象名分别为:y“添加添加”命令按钮:命令按钮:cmdAddy“删除删除”命令按钮:命令按钮:cmdDely“更新更新”命令按钮:命令按钮:cmdUpdatey“取消取消”命令按钮:命令按钮:cmdCancely“第一条第一条”命令按钮:命令按钮:cmdFirsty“上一条上一条”命令按钮:命令按钮:cmdPreviousy“下一条下一条”命令按钮:命令按钮:cmdNexty“
11、末一条末一条”命令按钮:命令按钮:cmdLasty“退出退出”命令按钮:命令按钮:cmdExit 第十九页,讲稿共四十八页哦示例示例2 2控件的属性设置控件的属性设置z示例示例2窗体上的窗体上的ADO数据控件以及各文本框控数据控件以及各文本框控件的属性设置同示例件的属性设置同示例1。z为了在运行时隐藏为了在运行时隐藏ADO数据控件,我们将数据控件,我们将AdodcStudent的的Visible属性设置为:属性设置为:False。第二十页,讲稿共四十八页哦示例示例2 2程序代码程序代码z窗体启动时的初始化代码窗体启动时的初始化代码z数据操作按钮组代码数据操作按钮组代码y“添加添加”命令按钮命令
12、按钮y“取消取消”命令按钮命令按钮 y“删除删除”命令按钮命令按钮 y“更新更新”命令按钮命令按钮 z移动指针方法组代码移动指针方法组代码 y“第一条第一条”命令按钮命令按钮 y“末一条末一条”命令按钮命令按钮y“下一条下一条”命令按钮命令按钮 y“上一条上一条”命令按钮命令按钮 z结束程序代码结束程序代码 第二十一页,讲稿共四十八页哦窗体启动时的初始化代码窗体启动时的初始化代码Private Sub Form_Load()初始时使初始时使“取消取消”按钮为不可用状态按钮为不可用状态 CmdCancel.Enabled=FalseEnd Sub第二十二页,讲稿共四十八页哦“添加添加”命令按钮命
13、令按钮Private Sub CmdAdd_Click()“添加添加”命令按钮命令按钮 AdodcStudent.Recordset.AddNew 使使“添加添加”和和“删除删除”按钮为不可用状态按钮为不可用状态 CmdAdd.Enabled=False CmdDel.Enabled=False 使使“更改更改”和和“取消取消”按钮为可用状态按钮为可用状态 CmdUpdate.Enabled=True CmdCancel.Enabled=TrueEnd Sub第二十三页,讲稿共四十八页哦“取消取消”命令按钮命令按钮Private Sub CmdCancel_Click()“取消取消”命令按钮命
14、令按钮 AdodcStudent.Recordset.CancelUpdate 使使“添加添加”和和“删除删除”按钮为可用状态按钮为可用状态 CmdAdd.Enabled=True CmdDel.Enabled=True 使使“取消取消”按钮为不可用状态按钮为不可用状态 CmdCancel.Enabled=False End Sub第二十四页,讲稿共四十八页哦“删除删除”命令按钮命令按钮Private Sub CmdDel_Click()“删除删除”命令按钮命令按钮 Dim res As Integer res=MsgBox(确实要删除此行记录吗?确实要删除此行记录吗?,_ vbExclama
15、tion+vbYesNo+vbDefaultButton2)提示用户提示用户 If res=vbYes Then 如果确实要删除如果确实要删除 AdodcStudent.Recordset.Delete AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF=True Then AdodcStudent.Recordset.MoveLast End If End IfEnd Sub第二十五页,讲稿共四十八页哦“更新更新”命令按钮命令按钮Private Sub CmdUpdate_Click()“更新更新”命令按钮命令按钮 将文
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(
17、TxtSdept.Text)AdodcStudent.Recordset.Update 使更新生效使更新生效 使使“添加添加”和和“删除删除”按钮为可用状态按钮为可用状态 CmdAdd.Enabled=True CmdDel.Enabled=True CmdCancel.Enabled=False 使使“取消取消”按钮为不可用状态按钮为不可用状态End Sub第二十六页,讲稿共四十八页哦“第一条第一条”命令按钮命令按钮“第一条第一条”命令按钮命令按钮Private Sub CmdFirst_Click()AdodcStudent.Recordset.MoveFirstEnd Sub第二十七页,
18、讲稿共四十八页哦“末一条末一条”命令按钮命令按钮“末一条末一条”命令按钮命令按钮Private Sub CmdLast_Click()AdodcStudent.Recordset.MoveLastEnd Sub第二十八页,讲稿共四十八页哦“下一条下一条”命令按钮命令按钮“下一条下一条”命令按钮命令按钮Private Sub CmdNext_Click()AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF=True Then 如果已经移到了最后一行之后,则将指针定位在最后一行如果已经移到了最后一行之后,则将指针定位在最后一行
19、 AdodcStudent.Recordset.MoveLast End IfEnd Sub第二十九页,讲稿共四十八页哦“上一条上一条”命令按钮命令按钮“上一条上一条”命令按钮命令按钮Private Sub CmdPrevious_Click()AdodcStudent.Recordset.MovePrevious If AdodcStudent.Recordset.BOF=True Then 如果已经移到了第一行之前,则将指针定位在第一行如果已经移到了第一行之前,则将指针定位在第一行 AdodcStudent.Recordset.MoveFirst End IfEnd Sub 第三十页,讲稿
20、共四十八页哦结束程序代码结束程序代码“退出退出”命令按钮命令按钮Private Sub CmdExit_Click()EndEnd Sub第三十一页,讲稿共四十八页哦示例示例2 2实现过程展示实现过程展示设设置置控控件件和和属属性性第三十二页,讲稿共四十八页哦编编写写程程序序代代码码第三十三页,讲稿共四十八页哦执执行行程程序序观观察察结结果果第三十四页,讲稿共四十八页哦示例示例示例示例3 3 3 3z示例示例3 3说明说明 z示例示例3 3控件的属性设置控件的属性设置z示例示例3 3程序代码程序代码z示例示例3 3实现过程展示实现过程展示第三十五页,讲稿共四十八页哦示例示例3 3说明说明z示例
21、示例3在示例在示例1的基础上增加了一个窗体,这个窗体用的基础上增加了一个窗体,这个窗体用DataGrid控件显示数据。控件显示数据。z示例示例3中的两个窗体的布局分别图中的两个窗体的布局分别图1和图和图2所示。所示。图图1Form1布局布局图图2Form2布局布局第三十六页,讲稿共四十八页哦z在图所示的在图所示的Form1上,当用户单击上,当用户单击“查找查找”命命令按钮时,显示令按钮时,显示Form2。zForm2上上DataGrid中的数据是根据中的数据是根据Form1中当前中当前显示的学号值去查找此学生的姓名、所修的课显示的学号值去查找此学生的姓名、所修的课程名、课程的学分以及考试成绩。
22、程名、课程的学分以及考试成绩。z在在Form2上单击上单击“返回返回”命令按钮(对象名为命令按钮(对象名为cmdReturn),可以返回到),可以返回到Form1,并且同时,并且同时卸载卸载Form2。第三十七页,讲稿共四十八页哦示例示例3 3控件的属性设置控件的属性设置zForm1窗体上各控件属性的设置同示例窗体上各控件属性的设置同示例1。zForm2窗体窗体yDataGrid数据绑定数据绑定控件的对象名为:控件的对象名为:dtgCondxDtgCond控件的列属性在程序代码中设置。控件的列属性在程序代码中设置。yADO数据控件名为:数据控件名为:AdodcGridxConnectionSt
23、ring属性的值同示例属性的值同示例1的的AdodcStudentxCommandType和和RecordSource属性我们在程序代码中设置。属性我们在程序代码中设置。第三十八页,讲稿共四十八页哦示例示例3 3程序代码程序代码zForm1上的上的“查找查找”和和“退出退出”命令按钮代码命令按钮代码z Form2上的代码上的代码yForm2上上的的初始化初始化dtgCond控件代码控件代码yForm2上的上的Load事件代码事件代码yForm2上上“返回返回”按钮代码按钮代码第三十九页,讲稿共四十八页哦Form1Form1上的上的“查找查找”和和“退出退出”命令按钮代命令按钮代码码Privat
24、eSubCmdExit_Click()退出退出 按钮按钮EndEndSubPrivateSubCmdSearch_Click()查找查找 按钮按钮Form2.Show 显示显示Form2Form2窗体窗体EndSub第四十页,讲稿共四十八页哦Form2Form2上的初始化上的初始化dtgConddtgCond控件代码控件代码Private Sub InitGrid()初始化初始化dtgConddtgCond控件控件 With DtgCond 设置设置DtgCondDtgCond的列标题的列标题 .Columns(0).Caption=学号学号 .Columns(1).Caption=课程名课程
25、名 .Columns(2).Caption=学分学分 .Columns(3).Caption=成绩成绩 设置设置DtgCondDtgCond的列宽的列宽 .Columns(0).Width=1000 .Columns(1).Width=2000 .Columns(2).Width=800 .Columns(3).Width=800 End WithEnd Sub第四十一页,讲稿共四十八页哦F Fo or rm m2 2上上的的L Lo oa ad d事事件件代代码码PrivateSubForm_Load()DimstrSnoAsStringDimstrSelectAsStringstrSno=
26、Trim(Form1.TxtSno.Text)得到得到Form1Form1窗体上当前显示的学号的值窗体上当前显示的学号的值 编写满足要求的查询语句,查找学号值等于给定值的学生的姓名、编写满足要求的查询语句,查找学号值等于给定值的学生的姓名、修的课程名、修的课程名、学分和成绩学分和成绩strSelect=“selectSname,Cname,Ccredit,Gradefromstudentsjoinsc“_&“ons.sno=o=owhere“_&“sc.sno=“&strSno&“设置设置ADOADO数据控件相应的属性数据控件相应的属性AdodcGrid.CommandType=adCmdTe
27、xtAdodcGrid.RecordSource=strSelectAdodcGrid.Refresh 使使ADOADO数据控件的新属性生效数据控件的新属性生效 设置设置DataGridDataGrid控件的数据源为控件的数据源为ADOADO数据控件的结果集数据控件的结果集SetDtgCond.DataSource=AdodcGridCallInitGrid 调用调用DtgCondDtgCond控件的初始化过程控件的初始化过程EndSub 第四十二页,讲稿共四十八页哦Form2Form2上上“返回返回”按钮代码按钮代码“返回返回”按钮按钮Private Sub CmdReturn_Click()Unload MeEnd Sub第四十三页,讲稿共四十八页哦示例示例3 3实现过程展示实现过程展示设设置置Form1控控件件和和属属性性第四十四页,讲稿共四十八页哦编编写写Form1程程序序代代码码第四十五页,讲稿共四十八页哦添添加加Form2控控件件并并设设置置属属性性第四十六页,讲稿共四十八页哦编编写写Form2程程序序代代码码第四十七页,讲稿共四十八页哦感谢大家观看第四十八页,讲稿共四十八页哦