版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库技术教教 师:曾晓东师:曾晓东电电 话:话:1367900720113679007201E_mailE_mail:第第16章章 VB数据库应用编程示例数据库应用编程示例 示例1窗体布局目的:不用编写代码就可实现对数据的浏览 各控件所设置的属性及属性值 对象名对象名属性名属性名属性值属性值AdodcStudentConnectionString连接到Access的“学生管理数据库.mdb”CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdod
2、cStudentDataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept示例1程序代码 “退出退出”按钮按钮Private Sub CmdExit_Click() EndEnd Sub 窗体加载时初始化查找窗体加载时初始化查找Private Sub Form_Load() 初始化要查找的系为空 TxtSearchDept.Text = End Sub 示例1程序代码(续
3、) “查找查找”按钮按钮Private Sub CmdSearch_Click() If Len(TxtSearchDept.Text) 0 Then AdodcStudent.CommandType = adCmdText AdodcStudent.RecordSource = select * from student where Sdept = & Trim(TxtSearchDept.Text) & AdodcStudent.Refresh 使所设置的属性生效 Else 若用户未指定列名 MsgBox (请指定要查找的系) 则提示用户输入系名 End IfEnd Sub 示例1运行界面
4、16.2 示例2 示例2窗体布局目的:编写代码实现对数据的操作和浏览。命令按钮控件的对象名 “添加”命令按钮:cmdAdd “删除”命令按钮:cmdDel “更新”命令按钮:cmdUpdate “取消”命令按钮:cmdCancel “第一条”命令按钮:cmdFirst “上一条”命令按钮:cmdPrevious “下一条”命令按钮:cmdNext “末一条”命令按钮:cmdLast “退出”命令按钮:cmdExit 示例2代码 窗体启动时的初始化代码Private Sub Form_Load() 初始时使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Su
5、b数据操作按钮组代码 “添加”命令按钮Private Sub CmdAdd_Click() AdodcStudent.Recordset.AddNew 使“添加”和“删除”按钮为不可用状态 CmdAdd.Enabled = False CmdDel.Enabled = False 使“更改”和“取消”按钮为可用状态 CmdUpdate.Enabled = True CmdCancel.Enabled = True End Sub数据操作按钮组代码(续) “取消”命令按钮Private Sub CmdCancel_Click() AdodcStudent.Recordset.CancelUpda
6、te 使“添加”和“删除”按钮为可用状态 CmdAdd.Enabled = True CmdDel.Enabled = True 使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Sub数据操作按钮组代码(续) “删除”命令按钮Private Sub CmdDel_Click() Dim res As Integer res = MsgBox(确实要删除此行记录吗?, _vbExclamation + vbYesNo + vbDefaultButton2) 提示用户 If res = vbYes Then 如果确实要删除 AdodcStudent.Reco
7、rdset.Delete AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End If End IfEnd Sub数据操作按钮组代码(续) “更新”命令按钮Private Sub CmdUpdate_Click() 将文本框中的当前值写入结果集相应字段中 AdodcStudent.Recordset.Fields(Sno)=Trim(TxtSno.Text) AdodcStudent.Recordset.Fields(Sname)=
8、Trim(TxtSname.Text)AdodcStudent.Recordset.Fields(Sname)=Trim(TxtSname.Text) AdodcStudent.Recordset.Fields(Ssex)=Trim(TxtSsex.Text) AdodcStudent.Recordset.Fields(Ssex)=Trim(TxtSsex.Text) AdodcStudent.Recordset.Fields(Sage)=CInt(Trim(TxtSage.Text) AdodcStudent.Recordset.Fields(Sage)=CInt(Trim(TxtSage.
9、Text) AdodcStudent.Recordset.Fields(Sdept)=Trim(TxtSdept.Text) AdodcStudent.Recordset.Fields(Sdept)=Trim(TxtSdept.Text) 数据操作按钮组代码(续) “更新”命令按钮代码(续) 使更新生效 AdodcStudent.Recordset.Update 使“添加”和“删除”按钮为可用状态 CmdAdd.Enabled = True CmdDel.Enabled = True 使“取消”按钮为不可用状态 CmdCancel.Enabled = FalseEnd Sub移动指针方法组代码
10、 “第一条”命令按钮Private Sub CmdFirst_Click() AdodcStudent.Recordset.MoveFirstEnd Sub “下一条”命令按钮Private Sub CmdNext_Click() AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End IfEnd Sub移动指针方法组代码(续) “末一条”命令按钮Private Sub CmdLast_Click() AdodcStudent.Re
11、cordset.MoveLastEnd Sub “上一条”命令按钮Private Sub CmdPrevious_Click() AdodcStudent.Recordset.MovePrevious If AdodcStudent.Recordset.BOF = True Then AdodcStudent.Recordset.MoveFirst End IfEnd Sub结束程序代码 “退出”命令按钮Private Sub CmdExit_Click() EndEnd Sub 示例2运行界面16.3 示例3窗体布局目的:利用DataGrid控件实现对数据表格式浏览,并实现两个窗体间的互动。
12、Form1上的代码 退出按钮Private Sub CmdExit_Click() EndEnd Sub 查找按钮Private Sub CmdSearch_Click() Form2.Show 显示Form2窗体End SubForm2上的代码 “返回”按钮Private Sub CmdReturn_Click() Unload MeEnd SubForm2上的代码(续) 初始化Private Sub Form_Load() Dim strSno As String Dim strSelect As String 得到Form1窗体上当前显示的学号的值 strSno = Trim(Form1
13、.TxtSno.Text) 编写满足要求的查询语句,查找学号值等于给定值的学生的姓名、修的课程名、 学分和成绩 strSelect = select Sname, Cname,Ccredit,Grade from (student s join sc on s.sno = sc.sno) join course c on o = o where sc.sno = & strSno & Form2上的代码(续) 初始化(续) 设置ADO数据控件相应的属性 AdodcGrid.CommandType = adCmdText AdodcGrid.RecordSource = strSelect 使A
14、DO数据控件的新属性生效 AdodcGrid.Refresh 设置DataGrid控件的数据源为ADO数据控件的结果集 Set DtgCond.DataSource = AdodcGrid 调用DtgCond控件的初始化过程 Call InitGridEnd Sub Form2上的代码(续) 初始化dtgCond控件Private Sub InitGrid() With DtgCond 设置DtgCond的列标题 .Columns(0).Caption = 姓名 .Columns(1).Caption = 课程名 .Columns(2).Caption = 学分 .Columns(3).Cap
15、tion = 成绩 设置DtgCond的列宽 .Columns(0).Width = 1000 .Columns(1).Width = 2000 .Columns(2).Width = 800 .Columns(3).Width = 800 End With End Sub 16.3 示例3 运行界面16.4 示例4 窗体布局目的:用ADO对象实现示例2的功能。示例4代码 声明窗体级的对象 Dim adoCon As ADODB.ConnectionDim adoRst As ADODB.Recordset初始化代码 窗体启动时的代码 Private Sub Form_Load() 建立连接
16、Set adoCon = New ADODB.Connection adoCon.Open Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;Initial Catalog=学生管理数据库; Data Source=(local) 建立记录集 Set adoRst = New ADODB.Recordset adoRst.ActiveConnection = adoCon adoRst.CursorLocation = adUseClient初始化代码(续) adoRst.CursorType = adOpenDynamic
17、 adoRst.LockType = adLockOptimistic adoRst.Source = Student adoRst.Open , , , , adCmdTable 显示数据 Call Display 初始时使“取消”按钮为不可用状态 CmdCancel.Enabled = FalseEnd Sub 两个通用的过程 将记录集中各字段的数据绑定到文本框中Private Sub Display() TxtSno.Text = convertNull(adoRst.Fields(sno).value) TxtSname.Text=convertNull(adoRst.Fields(s
18、name).value) TxtSsex.Text = convertNull(adoRst.Fields(ssex).value) TxtSage.Text = convertNull(adoRst.Fields(sage).value) TxtSdept.Text = convertNull(adoRst.Fields(sdept).value)End Sub 两个通用的过程(续) 将空值字段转化为空字符串Private Function convertNull(value As Variant) As Variant If IsNull(value) = True Then conver
19、tNull = Else convertNull = value End IfEnd Function数据操作按钮组代码 “添加”命令按钮Private Sub CmdAdd_Click() adoRst.AddNew 使“添加”和“删除”按钮为不可用状态 CmdAdd.Enabled = False CmdDel.Enabled = False 使“更改”和“取消”按钮为可用状态 CmdUpdate.Enabled = True CmdCancel.Enabled = True “添加”命令按钮(续) 清空文本框中显示的内容 TxtSno.Text = TxtSname.Text = Txt
20、Ssex.Text = TxtSage.Text = TxtSdept.Text = End Sub 数据操作按钮组代码(续) “取消”命令按钮Private Sub CmdCancel_Click() adoRst.CancelUpdate 使“添加”和“删除”按钮为可用状态 CmdAdd.Enabled = True CmdDel.Enabled = True 使“取消”按钮为不可用状态 CmdCancel.Enabled = False Call Display 显示记录集当前记录 End Sub数据操作按钮组代码(续) “删除删除”命令按钮命令按钮Private Sub CmdDel_
21、Click() Dim res As Integer res = MsgBox(确实实要删删除此行记录吗记录吗?, _ vbExclamation + vbYesNo + vbDefaultButton2) If res = vbYes Then 如果确实实要删删除 adoRst.Delete adoRst.MoveNext If adoRst.EOF = True Then adoRst.MoveLast End If End If Call Display 显显示记录记录集当当前记录记录End Sub数据操作按钮组代码(续) “更新更新”命令按钮命令按钮Private Sub CmdUpd
22、ate_Click() 将将文本框中的当当前值写值写入结结果集相应应字段中 adoRst.Fields(Sno) = Trim(TxtSno.Text) adoRst.Fields(Sname) = Trim(TxtSname.Text) adoRst.Fields(Ssex) = Trim(TxtSsex.Text) adoRst.Fields(Sage) = CInt(Trim(TxtSage.Text) adoRst.Fields(Sdept) = Trim(TxtSdept.Text) adoRst.Update 使更新生效 CmdAdd.Enabled = True 使“添加” 按钮为钮为可用状态状态 CmdDel.Enabled = True 使 “删删除”按钮为钮为可用状态状态 CmdCancel.E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年监理工程师(土木建筑工程)《施工质量控制》历年真题章节练习题卷(含智能建造质量验收标准)考核试卷
- 2025年工业互联网技术在制造业中的应用案例分析报告
- 2025年对虾养殖生物絮团技术应用考核试卷
- 2025年装配式建筑施工安全防护技术考核试卷
- 2025年共享经济行业共享经济模式与用户体验研究报告及未来发展趋势预测
- 2025河北雄安新区雄工美好生活促进中心公开招聘1人笔试考试备考试题及答案解析
- 2025云南玉溪红塔实业有限责任公司员工招聘29人(第二批)笔试考试备考题库及答案解析
- 2025广西玉林市福绵区社会保险事业管理中心招聘见习生2人考试笔试参考题库附答案解析
- 2025浙江宁波余姚市政协办公室招聘编外工作人员1人考试笔试参考题库附答案解析
- 2025广东南粤银行长沙分行招聘笔试考试参考试题及答案解析
- 数控技术专业介绍
- 2025至2030中国黑龙江省养老机构行业产业运行态势及投资规划深度研究报告
- “华能工匠杯”电力市场交易技能竞赛考试题库(附答案)
- 吸引力法则培训课件
- 做课件教学的步骤
- 2025年饮料gmp试题及答案
- 低碳景观设计策略-洞察及研究
- 产品标签打印管理办法
- 局工作秘密管理暂行办法
- 《“1+X”无人机摄影测量》课件-项目三 像控点采集
- 农贸市场物业服务管理规定
评论
0/150
提交评论