用VB开发数据库应用程序实例_第1页
用VB开发数据库应用程序实例_第2页
用VB开发数据库应用程序实例_第3页
用VB开发数据库应用程序实例_第4页
用VB开发数据库应用程序实例_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于用VB开发数据库应用程序实例第1页,共48页,2022年,5月20日,9点9分,星期五VB数据库编程举例本节结合“学生管理数据库”以及其中的三张表,利用数据访问接口技术和ADO数据控件以及数据绑定控件,介绍在VisualBasic中开发数据库应用程序的过程。

示例1

示例2

示例3

第2页,共48页,2022年,5月20日,9点9分,星期五示例1示例1说明

示例1控件的属性设置示例1程序代码示例1实现过程展示第3页,共48页,2022年,5月20日,9点9分,星期五示例1说明本示例说明如何利用ADO数据控件实现对Student表中全部数据的浏览,以及如何实现按用户指定的系查找相应学生信息的功能。数据浏览方式采用单行浏览方式,即一次查看一条记录。通过本示例我们可以看到,设置好ADO数据控件的属性后,用户不需要编制任何代码就可以实现对数据的查询。如果查找条件变化了,用户只需要编写很少的代码就可以实现对数据源的重新查询。

第4页,共48页,2022年,5月20日,9点9分,星期五示例1窗体布局第5页,共48页,2022年,5月20日,9点9分,星期五其中“学号”、“姓名”、“性别”、“年龄”、“所在系”及“查找系”用标签控件(Label)实现。对Student表中的各列数据用文本框控件(TextBox)实现,界面上各文本框控件内显示的内容为此文本框的对象名。ADO数据控件对象名AdodcStudent。

“查找”命令按钮的对象名为“cmdSearch”,“退出”命令按钮的对象名为“cmdExit”。

第6页,共48页,2022年,5月20日,9点9分,星期五示例1控件的属性设置对象名属性名属性值AdodcStudentConnectionString连接到SQLServer的“学生管理”数据库CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudent

DataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept第7页,共48页,2022年,5月20日,9点9分,星期五示例1程序代码“退出”按钮单击(Click)鼠标事件程序代码“查找”按钮单击(Click)鼠标事件程序代码窗体加载(Load事件)时初始化程序代码第8页,共48页,2022年,5月20日,9点9分,星期五“退出”按钮单击(Click)鼠标事件程序代码PrivateSubCmdExit_Click()'"退出"按钮

EndEndSub

第9页,共48页,2022年,5月20日,9点9分,星期五“查找”按钮单击(Click)鼠标事件程序代码PrivateSubCmdSearch_Click()'"查找"按钮IfLen(TxtSearchDept.Text)>0Then'如果用户指定了系名

AdodcStudent.CommandType=adCmdTextAdodcStudent.RecordSource=“select*fromstudentwhereSdept=‘“&Trim(TxtSearchDept.Text)&“‘“AdodcStudent.Refresh'使所设置的属性生效

Else'若用户未指定列名

MsgBox(“请指定要查找的系”)'则提示用户输入系名

EndIfEndSub

第10页,共48页,2022年,5月20日,9点9分,星期五窗体加载(Load事件)时初始化程序代码PrivateSubForm_Load()

'窗体加载时初始化查找系的内容

'初始化要查找的系为空

TxtSearchDept.Text=""EndSub第11页,共48页,2022年,5月20日,9点9分,星期五示例1实现过程展示设置控件和属性第12页,共48页,2022年,5月20日,9点9分,星期五编写程序代码第13页,共48页,2022年,5月20日,9点9分,星期五执行程序观察结果第14页,共48页,2022年,5月20日,9点9分,星期五观察查找前后的结果第15页,共48页,2022年,5月20日,9点9分,星期五示例2示例2说明

示例2控件的属性设置示例2程序代码示例2实现过程展示第16页,共48页,2022年,5月20日,9点9分,星期五示例2说明示例2在示例1的基础上增加了两组供用户操作的按钮。一组是为了说明如何实现数据更改操作,即如何使用Recordset对象的AddNew、Update、Delete和CancelUpdate方法;另一组是为了说明如何编程控制结果集中浏览记录的移动,即如何使用Recordset对象的Move方法组。

在这个示例中我们不使用ADO数据库控件移动记录,而是使用四个命令按钮实现此功能,因此在运行时将ADO数据控件隐藏起来。

第17页,共48页,2022年,5月20日,9点9分,星期五示例2窗体布局第18页,共48页,2022年,5月20日,9点9分,星期五新增各命令按钮控件的对象名分别为:

“添加”命令按钮:cmdAdd

“删除”命令按钮:cmdDel

“更新”命令按钮:cmdUpdate

“取消”命令按钮:cmdCancel

“第一条”命令按钮:cmdFirst

“上一条”命令按钮:cmdPrevious

“下一条”命令按钮:cmdNext

“末一条”命令按钮:cmdLast“退出”命令按钮:cmdExit

第19页,共48页,2022年,5月20日,9点9分,星期五示例2控件的属性设置示例2窗体上的ADO数据控件以及各文本框控件的属性设置同示例1。为了在运行时隐藏ADO数据控件,我们将AdodcStudent的Visible属性设置为:False。

第20页,共48页,2022年,5月20日,9点9分,星期五示例2程序代码窗体启动时的初始化代码数据操作按钮组代码“添加”命令按钮“取消”命令按钮

“删除”命令按钮

“更新”命令按钮

移动指针方法组代码

“第一条”命令按钮

“末一条”命令按钮“下一条”命令按钮

“上一条”命令按钮

结束程序代码

第21页,共48页,2022年,5月20日,9点9分,星期五窗体启动时的初始化代码PrivateSubForm_Load()

'初始时使“取消”按钮为不可用状态

CmdCancel.Enabled=FalseEndSub第22页,共48页,2022年,5月20日,9点9分,星期五“添加”命令按钮PrivateSubCmdAdd_Click()'“添加”命令按钮

AdodcStudent.Recordset.AddNew

'使“添加”和“删除”按钮为不可用状态

CmdAdd.Enabled=FalseCmdDel.Enabled=False

'使“更改”和“取消”按钮为可用状态

CmdUpdate.Enabled=TrueCmdCancel.Enabled=TrueEndSub第23页,共48页,2022年,5月20日,9点9分,星期五“取消”命令按钮PrivateSubCmdCancel_Click()'“取消”命令按钮

AdodcStudent.Recordset.CancelUpdate

'使“添加”和“删除”按钮为可用状态

CmdAdd.Enabled=TrueCmdDel.Enabled=True

'使“取消”按钮为不可用状态

CmdCancel.Enabled=FalseEndSub第24页,共48页,2022年,5月20日,9点9分,星期五“删除”命令按钮PrivateSubCmdDel_Click()'“删除”命令按钮

DimresAsIntegerres=MsgBox("确实要删除此行记录吗?",_vbExclamation+vbYesNo+vbDefaultButton2)'提示用户

Ifres=vbYesThen'如果确实要删除

AdodcStudent.Recordset.DeleteAdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThenAdodcStudent.Recordset.MoveLastEndIfEndIfEndSub第25页,共48页,2022年,5月20日,9点9分,星期五“更新”命令按钮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第26页,共48页,2022年,5月20日,9点9分,星期五“第一条”命令按钮'“第一条”命令按钮PrivateSubCmdFirst_Click()AdodcStudent.Recordset.MoveFirstEndSub第27页,共48页,2022年,5月20日,9点9分,星期五“末一条”命令按钮'“末一条”命令按钮PrivateSubCmdLast_Click()AdodcStudent.Recordset.MoveLastEndSub第28页,共48页,2022年,5月20日,9点9分,星期五“下一条”命令按钮'“下一条”命令按钮PrivateSubCmdNext_Click()AdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThen

'如果已经移到了最后一行之后,则将指针定位在最后一行

AdodcStudent.Recordset.MoveLastEndIfEndSub第29页,共48页,2022年,5月20日,9点9分,星期五“上一条”命令按钮'“上一条”命令按钮PrivateSubCmdPrevious_Click()AdodcStudent.Recordset.MovePreviousIfAdodcStudent.Recordset.BOF=TrueThen

'如果已经移到了第一行之前,则将指针定位在第一行

AdodcStudent.Recordset.MoveFirstEndIfEndSub第30页,共48页,2022年,5月20日,9点9分,星期五结束程序代码'“退出”命令按钮PrivateSubCmdExit_Click()EndEndSub第31页,共48页,2022年,5月20日,9点9分,星期五示例2实现过程展示设置控件和属性第32页,共48页,2022年,5月20日,9点9分,星期五编写程序代码第33页,共48页,2022年,5月20日,9点9分,星期五执行程序观察结果第34页,共48页,2022年,5月20日,9点9分,星期五示例3示例3说明

示例3控件的属性设置示例3程序代码示例3实现过程展示第35页,共48页,2022年,5月20日,9点9分,星期五示例3说明示例3在示例1的基础上增加了一个窗体,这个窗体用DataGrid控件显示数据。示例3中的两个窗体的布局分别图1和图2所示。图1Form1布局图2Form2布局第36页,共48页,2022年,5月20日,9点9分,星期五在图所示的Form1上,当用户单击“查找”命令按钮时,显示Form2。Form2上DataGrid中的数据是根据Form1中当前显示的学号值去查找此学生的姓名、所修的课程名、课程的学分以及考试成绩。在Form2上单击“返回”命令按钮(对象名为cmdReturn),可以返回到Form1,并且同时卸载Form2。

第37页,共48页,2022年,5月20日,9点9分,星期五示例3控件的属性设置Form1窗体上各控件属性的设置同示例1。Form2窗体DataGrid数据绑定控件的对象名为:dtgCondDtgCond控件的列属性在程序代码中设置。ADO数据控件名为:AdodcGridConnectionString属性的值同示例1的AdodcStudentCommandType和RecordSource属性我们在程序代码中设置。第38页,共48页,2022年,5月20日,9点9分,星期五示例3程序代码Form1上的“查找”和“退出”命令按钮代码

Form2上的代码Form2上的初始化dtgCond控件代码Form2上的Load事件代码Form2上“返回”按钮代码第39页,共48页,2022年,5月20日,9点9分,星期五Form1上的“查找”和“退出”命令按钮代码PrivateSubCmdExit_Click()'"退出"按钮

EndEndSub

PrivateSubCmdSearch_Click()'"查找"按钮

Form2.Show'显示Form2窗体EndSub第40页,共48页,2022年,5月20日,9点9分,星期五Form2上的初始化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=800EndWithEndSub第41页,共48页,2022年,5月20日,9点9分,星期五Form2上的Load事件代码PrivateSubForm_Load()DimstrSnoAsStringDimstrSelectAsStringstrSno=Trim(Form1.TxtSno.Text)'得到Form1窗体上当前显示的学号的值

‘编写满足要求的查询语句,查找学号值等于给定值的学生的姓名、‘修的课程名、学分和成绩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论