您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 用VB开发数据库应用程序实例
C/S——VB数据库应用系统开发数据库应用系统结构VisualBasic快速入门开放数据库连接(ODBC)数据访问接口(ADO)VB数据库编程举例VB开发数据库应用系统实例分析VB数据库编程举例本节结合“学生管理数据库”以及其中的三张表,利用数据访问接口技术和ADO数据控件以及数据绑定控件,介绍在VisualBasic中开发数据库应用程序的过程。示例1示例2示例3示例1示例1说明示例1控件的属性设置示例1程序代码示例1实现过程展示示例1说明本示例说明如何利用ADO数据控件实现对Student表中全部数据的浏览,以及如何实现按用户指定的系查找相应学生信息的功能。数据浏览方式采用单行浏览方式,即一次查看一条记录。通过本示例我们可以看到,设置好ADO数据控件的属性后,用户不需要编制任何代码就可以实现对数据的查询。如果查找条件变化了,用户只需要编写很少的代码就可以实现对数据源的重新查询。示例1窗体布局其中“学号”、“姓名”、“性别”、“年龄”、“所在系”及“查找系”用标签控件(Label)实现。对Student表中的各列数据用文本框控件(TextBox)实现,界面上各文本框控件内显示的内容为此文本框的对象名。ADO数据控件对象名AdodcStudent。“查找”命令按钮的对象名为“cmdSearch”,“退出”命令按钮的对象名为“cmdExit”。示例1控件的属性设置对象名属性名属性值AdodcStudentConnectionString连接到SQLServer的“学生管理”数据库CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudentDataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept示例1程序代码“退出”按钮单击(Click)鼠标事件程序代码“查找”按钮单击(Click)鼠标事件程序代码窗体加载(Load事件)时初始化程序代码“退出”按钮单击(Click)鼠标事件程序代码PrivateSubCmdExit_Click()'退出按钮EndEndSub“查找”按钮单击(Click)鼠标事件程序代码PrivateSubCmdSearch_Click()'查找按钮IfLen(TxtSearchDept.Text)0Then'如果用户指定了系名AdodcStudent.CommandType=adCmdTextAdodcStudent.RecordSource=“select*fromstudentwhereSdept=‘“&Trim(TxtSearchDept.Text)&“‘“AdodcStudent.Refresh'使所设置的属性生效Else'若用户未指定列名MsgBox(“请指定要查找的系”)'则提示用户输入系名EndIfEndSub窗体加载(Load事件)时初始化程序代码PrivateSubForm_Load()'窗体加载时初始化查找系的内容'初始化要查找的系为空TxtSearchDept.Text=EndSub示例1实现过程展示设置控件和属性编写程序代码执行程序观察结果观察查找前后的结果示例2示例2说明示例2控件的属性设置示例2程序代码示例2实现过程展示示例2说明示例2在示例1的基础上增加了两组供用户操作的按钮。一组是为了说明如何实现数据更改操作,即如何使用Recordset对象的AddNew、Update、Delete和CancelUpdate方法;另一组是为了说明如何编程控制结果集中浏览记录的移动,即如何使用Recordset对象的Move方法组。在这个示例中我们不使用ADO数据库控件移动记录,而是使用四个命令按钮实现此功能,因此在运行时将ADO数据控件隐藏起来。示例2窗体布局新增各命令按钮控件的对象名分别为:“添加”命令按钮:cmdAdd“删除”命令按钮:cmdDel“更新”命令按钮:cmdUpdate“取消”命令按钮:cmdCancel“第一条”命令按钮:cmdFirst“上一条”命令按钮:cmdPrevious“下一条”命令按钮:cmdNext“末一条”命令按钮:cmdLast“退出”命令按钮:cmdExit示例2控件的属性设置示例2窗体上的ADO数据控件以及各文本框控件的属性设置同示例1。为了在运行时隐藏ADO数据控件,我们将AdodcStudent的Visible属性设置为:False。示例2程序代码窗体启动时的初始化代码数据操作按钮组代码“添加”命令按钮“取消”命令按钮“删除”命令按钮“更新”命令按钮移动指针方法组代码“第一条”命令按钮“末一条”命令按钮“下一条”命令按钮“上一条”命令按钮结束程序代码窗体启动时的初始化代码PrivateSubForm_Load()'初始时使“取消”按钮为不可用状态CmdCancel.Enabled=FalseEndSub“添加”命令按钮PrivateSubCmdAdd_Click()'“添加”命令按钮AdodcStudent.Recordset.AddNew'使“添加”和“删除”按钮为不可用状态CmdAdd.Enabled=FalseCmdDel.Enabled=False'使“更改”和“取消”按钮为可用状态CmdUpdate.Enabled=TrueCmdCancel.Enabled=TrueEndSub“取消”命令按钮PrivateSubCmdCancel_Click()'“取消”命令按钮AdodcStudent.Recordset.CancelUpdate'使“添加”和“删除”按钮为可用状态CmdAdd.Enabled=TrueCmdDel.Enabled=True'使“取消”按钮为不可用状态CmdCancel.Enabled=FalseEndSub“删除”命令按钮PrivateSubCmdDel_Click()'“删除”命令按钮DimresAsIntegerres=MsgBox(确实要删除此行记录吗?,_vbExclamation+vbYesNo+vbDefaultButton2)'提示用户Ifres=vbYesThen'如果确实要删除AdodcStudent.Recordset.DeleteAdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThenAdodcStudent.Recordset.MoveLastEndIfEndIfEndSub“更新”命令按钮PrivateSubCmdUpdate_Click()'“更新”命令按钮'将文本框中的当前值写入结果集相应字段中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)AdodcStudent.Recordset.Update'使更新生效'使“添加”和“删除”按钮为可用状态CmdAdd.Enabled=TrueCmdDel.Enabled=TrueCmdCancel.Enabled=False'使“取消”按钮为不可用状态EndSub“第一条”命令按钮'“第一条”命令按钮PrivateSubCmdFirst_Click()AdodcStudent.Recordset.MoveFirstEndSub“末一条”命令按钮'“末一条”命令按钮PrivateSubCmdLast_Click()AdodcStudent.Recordset.MoveLastEndSub“下一条”命令按钮'“下一条”命令按钮PrivateSubCmdNext_Click()AdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThen'如果已经移到了最后一行之后,则将指针定位在最后一行AdodcStudent.Recordset.MoveLastEndIfEndSub“上一条”命令按钮'“上一条”命令按钮PrivateSubCmdPrevious_Click()AdodcStudent.Recordset.MovePreviousIfAdodcStudent.Recordset.BOF=TrueThen'如果已经移到了第一行之前,则将指针定位在第一行AdodcStudent.Recordset.MoveFirstEndIfEndSub结束程序代码'“退出”命令按钮PrivateSubCmdExit_Click()EndEndSub示例2实现过程展示设置控件和属性编写程序代码执行程序观察结果示例3示例3说明示例3控件的属性设置示例3程序代码示例3实现过程展示示例3说明示例3在示例1的基础上增加了一个窗体,这个窗体用DataGrid控件显示数据。示例3中的两个窗体的布局分别图1和图2所示。图1Form1布局图2Form2布局在图所示的Form1上,当用户单击“查找”命令按钮时,显示Form2。Form2上DataGrid中的数据是根据Form1中当前显示的学号值去查找此学生的姓名、所修的课程名、课程的学分以及考试成绩。在Form2上单击“返回”命令按钮(对象名为cmdReturn),可以返回到Form1,并且同时卸载Form2。示例3控件的属性设置Form1窗体上各控件属性的设置同示例1。Form2窗体DataGrid数据绑定控件的对象名为:dtgCondDtgCond控件的列属性在程序代码中设置。ADO数据控件名为:AdodcGridConnectionString属性的值同示例1的AdodcStudentCommandType和RecordSource属性我们在程序代码中设置。示例3程序代码Form1上的“查找”和“退出”命令按钮代码Form2上的代码Form2上的初始化dtgCond控件代码Form2上的Load事件代码Form2上“返回”按钮代码Form1上的“查找”和“退出”命令按钮代码PrivateSubCmdExit_Click()'退出按钮EndEndSubPrivateSubCmdSearch_Click()'查找按钮Form2.Show'显示Form2窗体EndSubForm2上的初始化dtgCond控件代码PrivateSubInitGrid()'初始化dtgCond控件WithDtgCond'设置DtgCond的列标题.Columns(0).Caption=学号.Columns(1).Caption=课程名.Columns(2).Caption=学分.Columns(3).Caption=成绩'设置DtgCond的列宽.Columns(0).Width=1000.Columns(1).Width=2000.Columns(2).Width=800.Columns(3).Width=800EndWithEndSubForm2上的Load事件代码PrivateSubForm_Load()DimstrSnoAsStringDimstrSel
本文标题:用VB开发数据库应用程序实例
链接地址:https://www.777doc.com/doc-3459314 .html