第17章 VB数据库应用编程示例_第1页
第17章 VB数据库应用编程示例_第2页
第17章 VB数据库应用编程示例_第3页
第17章 VB数据库应用编程示例_第4页
第17章 VB数据库应用编程示例_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库应用技术广州大学机械与电气工程学院第第17章章 VB数据库应用编程示例数据库应用编程示例 示例1窗体布局目的:不用编写代码就可实现对数据的浏览 各控件所设置的属性及属性值 对象名对象名属性名属性名属性值属性值AdodcStudentConnectionString连接到Access的“学生管理数据库.mdb”CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudentDataFieldSnameTxtSsexDataSourceA

2、dodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept示例1程序代码 “退出退出”按钮按钮Private Sub CmdExit_Click() EndEnd Sub 窗体加载时初始化查找窗体加载时初始化查找Private Sub Form_Load() 初始化要查找的系为空 TxtSearchDept.Text = End Sub 示例1程序代码(续) “查找查找”按钮按钮Private Sub CmdSearch_Click(

3、) 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运行界面17.2 示例2 示例2窗体布局目的:编写代码实现对数据的操作和

4、浏览。命令按钮控件的对象名 “添加”命令按钮:cmdAdd “删除”命令按钮:cmdDel “更新”命令按钮:cmdUpdate “取消”命令按钮:cmdCancel “第一条”命令按钮:cmdFirst “上一条”命令按钮:cmdPrevious “下一条”命令按钮:cmdNext “末一条”命令按钮:cmdLast “退出”命令按钮:cmdExit 示例2代码 窗体启动时的初始化代码Private Sub Form_Load() 初始时使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Sub数据操作按钮组代码 “添加”命令按钮Private Sub C

5、mdAdd_Click() AdodcStudent.Recordset.AddNew 使“添加”和“删除”按钮为不可用状态 CmdAdd.Enabled = False CmdDel.Enabled = False 使“更改”和“取消”按钮为可用状态 CmdUpdate.Enabled = True CmdCancel.Enabled = True End Sub数据操作按钮组代码(续) “取消”命令按钮Private Sub CmdCancel_Click() AdodcStudent.Recordset.CancelUpdate 使“添加”和“删除”按钮为可用状态 CmdAdd.Enab

6、led = 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.Recordset.Delete AdodcStudent.Record

7、set.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(SnameAdodcStudent.Recordset.Fields(Snam

8、e)=)=Trim(TxtSname.TextTrim(TxtSname.Text) ) AdodcStudent.Recordset.Fields(SsexAdodcStudent.Recordset.Fields(Ssex)=)=Trim(TxtSsex.TextTrim(TxtSsex.Text) ) AdodcStudent.Recordset.Fields(SageAdodcStudent.Recordset.Fields(Sage)=)=CInt(Trim(TxtSage.TextCInt(Trim(TxtSage.Text) AdodcStudent.Recordset.Fiel

9、ds(SdeptAdodcStudent.Recordset.Fields(Sdept)=)=Trim(TxtSdept.TextTrim(TxtSdept.Text) ) 数据操作按钮组代码(续) “更新”命令按钮代码(续) 使更新生效 AdodcStudent.Recordset.Update 使“添加”和“删除”按钮为可用状态 CmdAdd.Enabled = True CmdDel.Enabled = True 使“取消”按钮为不可用状态 CmdCancel.Enabled = FalseEnd Sub移动指针方法组代码 “第一条”命令按钮Private Sub CmdFirst_Cl

10、ick() 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.Recordset.MoveLastEnd Sub “上一条”命令按钮

11、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运行界面17.3 示例3窗体布局目的:利用DataGrid控件实现对数据表格式浏览,并实现两个窗体间的互动。Form1上的代码 退出按钮Private Sub CmdExit

12、_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.TxtSno.Text) 编写满足要求的查询语句,查找学号值等于

13、给定值的学生的姓名、修的课程名、 学分和成绩 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 使ADO数据控件的新属性生效 AdodcGrid.Refr

14、esh 设置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).Caption = 成绩 设置DtgCond的列宽 .Col

15、umns(0).Width = 1000 .Columns(1).Width = 2000 .Columns(2).Width = 800 .Columns(3).Width = 800 End With End Sub 17.3 示例3 运行界面17.4 示例4 窗体布局目的:用ADO对象实现示例2的功能。示例4代码 声明窗体级的对象 Dim adoCon As ADODB.ConnectionDim adoRst As ADODB.Recordset初始化代码 窗体启动时的代码 Private Sub Form_Load() 建立连接 Set adoCon = New ADODB.Conn

16、ection 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 adoRst.LockType = adLockOp

17、timistic 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(sname).value) TxtSsex.Text =

18、 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 convertNull = Else convertNull =

19、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 = TxtSsex.Text = TxtSage.Text =

20、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_Click() Dim res As Integer

21、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 CmdUpdate_Click() 将将文本框中的当当前值写值写入

22、结结果集相应应字段中 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.Enabl

温馨提示

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

评论

0/150

提交评论