教 师:曾晓东 电 话:13679007201 E_mail:zengxiaodong@263.net 数据库技术 教 师:曾晓东 电 话:13679007201 E_mail:zengxiaodong@263.net.

Slides:



Advertisements
Similar presentations
題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
Advertisements

計算機程式及實習 期末報告 題目:超級猜一猜
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
第13章 数据库的基本应用 Visual Basic 程序设计教程.
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
第7章利用ADO.NET 进行数据访问.
課程名稱:程式設計 授課老師:________
第四章 控制结构.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
Access数据库程序设计 总复习.
文科计算机小公共课规划教材 Access 程序设计.
客户端用Net-Library和SQL SERVER连接
计算机应用基础 上海大学计算中心.
VB教学中游戏化教学案例设计.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
第四章 关系系统及其查询优化 这一章包括两个内容,一是关系系统(关系数据库系统的简称),二是关系系统的查询优化。第一部分讨论关系系统的定义和分类;第二部分讨论关系系统中查询优化的概念、查询优化的基本原理和技术。
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
Visual Basic程序设计.
程式語言Visual Basic 變數的可視範圍
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
Visual Basic快速入门 ADO数据控件与数据绑定控件 VB数据库编程举例 VB开发数据库应用系统实例分析
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
課程名稱:程式設計 授課老師:________
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
課程名稱:資料庫系統 授課老師:李春雄 博士
第二章 Visual Basic语言基础.
程式語言 -Visual Basic 變數、常數與資料型態.
遠東科技大學資訊工程系 王善揚 可嵌入物件題庫系統 設計與開發 遠東科技大學資訊工程系 王善揚
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
課程名稱:資料庫系統 授課老師:李春雄 博士
資料庫程式設計 VB資料庫設計簡介 週次:2 建國科技大學 資管系 饒瑞佶.
VB如何存取資料庫 ? 資料庫 資料儲存 資料庫引擎 資料庫引擎 Jet 讀取、寫入與修改 資料控制項 資料庫存取物件(ADO) 使用者介面.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
初识Visual Basic.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第9章 访问数据库 9.1 数据库的概念与建立 9.2 用Data控件访问数据库.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
計算機程式 廖文淵 Department of Computer Science and Engineering
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
第十二章 多模組與多專案.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
SQL SERVER 一些经典语句 1.
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
小结 郭清溥.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
VB与数据库 数据库连接与查询.
1位选手参加了歌唱比赛,评委们的评分如下:
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
程式設計 Visual Basic 週次:7 建國技術學院 資管系 饒瑞佶 2003年12月6日.
VB语言基础 一、 常量 1 定义:在程序运行过程中不能发生改变的量 2 分类 整型常量: 整数 不带小数点的数 数值常量
程序调试与错误处理.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

教 师:曾晓东 电 话:13679007201 E_mail:zengxiaodong@263.net 数据库技术 教 师:曾晓东 电 话:13679007201 E_mail:zengxiaodong@263.net

第16章 VB数据库应用编程示例 16.1 示例1 16.2 示例2 16.3 示例3 16.4 示例4 16.5 数据窗体向导

16.1 示例1 示例1窗体布局 目的:不用编写代码就可实现对数据的浏览

16.1 示例1(续) 各控件所设置的属性及属性值 对象名 属性名 属性值 AdodcStudent ConnectionString 连接到Access的“学生管理数据库.mdb” CommandType adCmdTable RecordSource Student TxtSno DataSource DataField Sno TxtSname Sname TxtSsex Ssex TxtSage Sage TxtSdept Sdept

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

示例1程序代码(续) Private Sub CmdSearch_Click() “查找”按钮 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 If End Sub

示例1运行界面

16.2 示例2 示例2窗体布局 目的:编写代码实现对数据的操作和浏览。

命令按钮控件的对象名 “添加”命令按钮:cmdAdd “删除”命令按钮:cmdDel “更新”命令按钮:cmdUpdate “取消”命令按钮:cmdCancel “第一条”命令按钮:cmdFirst “上一条”命令按钮:cmdPrevious “下一条”命令按钮:cmdNext “末一条”命令按钮:cmdLast “退出”命令按钮:cmdExit

示例2代码 窗体启动时的初始化代码 Private Sub Form_Load() '初始时使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Sub

数据操作按钮组代码 “添加”命令按钮 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.CancelUpdate '使“添加”和“删除”按钮为可用状态 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.Recordset.Delete AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End If End Sub

数据操作按钮组代码(续) “更新”命令按钮 Private Sub CmdUpdate_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 = True CmdDel.Enabled = True '使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Sub

移动指针方法组代码 “第一条”命令按钮 “下一条”命令按钮 Private Sub CmdFirst_Click() AdodcStudent.Recordset.MoveFirst End Sub “下一条”命令按钮 Private Sub CmdNext_Click() AdodcStudent.Recordset.MoveNext If AdodcStudent.Recordset.EOF = True Then AdodcStudent.Recordset.MoveLast End If

移动指针方法组代码(续) “末一条”命令按钮 “上一条”命令按钮 Private Sub CmdLast_Click() AdodcStudent.Recordset.MoveLast End Sub “上一条”命令按钮 Private Sub CmdPrevious_Click() AdodcStudent.Recordset.MovePrevious If AdodcStudent.Recordset.BOF = True Then AdodcStudent.Recordset.MoveFirst End If

结束程序代码 “退出”命令按钮 Private Sub CmdExit_Click() End End Sub

示例2运行界面

16.3 示例3 窗体布局 目的:利用DataGrid控件实现对数据表格式浏览,并实现两个窗体间的互动。

Form1上的代码 "退出"按钮 "查找"按钮 Private Sub CmdExit_Click() End End Sub Private Sub CmdSearch_Click() Form2.Show ' 显示Form2窗体

Form2上的代码 “返回”按钮 Private Sub CmdReturn_Click() Unload Me End Sub

Form2上的代码(续) 初始化 Private Sub Form_Load() Dim strSno As String Dim strSelect As String ' 得到Form1窗体上当前显示的学号的值 strSno = Trim(Form1.TxtSno.Text) ' 编写满足要求的查询语句,查找学号值等于给定值的学生的姓名、修的课程名、' 学分和成绩 strSelect = "select Sname, Cname,Ccredit,Grade from (student s join sc on s.sno = sc.sno) join course c on c.cno = sc.cno where sc.sno = '" & strSno & "'"

Form2上的代码(续) 初始化(续) '设置ADO数据控件相应的属性 AdodcGrid.CommandType = adCmdText AdodcGrid.RecordSource = strSelect '使ADO数据控件的新属性生效 AdodcGrid.Refresh '设置DataGrid控件的数据源为ADO数据控件的结果集 Set DtgCond.DataSource = AdodcGrid '调用DtgCond控件的初始化过程 Call InitGrid End Sub

Form2上的代码(续) 初始化dtgCond控件 Private Sub InitGrid() With 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 = 800 End With End Sub

16.3 示例3(续) 运行界面

16.4 示例4 窗体布局 目的:用ADO对象实现示例2的功能。

示例4代码 声明窗体级的对象 Dim adoCon As ADODB.Connection Dim adoRst As ADODB.Recordset

初始化代码 窗体启动时的代码 Private Sub Form_Load() '建立连接 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 adoRst.LockType = adLockOptimistic adoRst.Source = "Student" adoRst.Open , , , , adCmdTable '显示数据 Call Display '初始时使“取消”按钮为不可用状态 CmdCancel.Enabled = False End Sub

两个通用的过程 将记录集中各字段的数据绑定到文本框中 Private Sub Display() TxtSno.Text = convertNull(adoRst.Fields("sno").value) TxtSname.Text=convertNull(adoRst.Fields("sname").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 convertNull = "" Else convertNull = value End If End Function

数据操作按钮组代码 Private Sub CmdAdd_Click() adoRst.AddNew '使“添加”和“删除”按钮为不可用状态 “添加”命令按钮 Private Sub CmdAdd_Click() adoRst.AddNew '使“添加”和“删除”按钮为不可用状态 CmdAdd.Enabled = False CmdDel.Enabled = False '使“更改”和“取消”按钮为可用状态 CmdUpdate.Enabled = True CmdCancel.Enabled = True

TxtSno.Text = "" TxtSname.Text = "" TxtSsex.Text = "" “添加”命令按钮(续) '清空文本框中显示的内容 TxtSno.Text = "" TxtSname.Text = "" TxtSsex.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_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 Call Display '显示记录集当前记录 End Sub

数据操作按钮组代码(续) “更新”命令按钮 Private Sub CmdUpdate_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.Enabled = False '使“取消”按钮为不可用状态 End Sub

移动指针方法组代码 “第一条”命令按钮 “末一条”命令按钮 Private Sub CmdFirst_Click() adoRst.MoveFirst Call Display '显示记录集当前记录 End Sub “末一条”命令按钮 Private Sub CmdLast_Click() adoRst.MoveLast

移动指针方法组代码(续) “下一条”命令按钮 Private Sub CmdNext_Click() adoRst.MoveNext If adoRst.EOF = True Then adoRst.MoveLast End If Call Display '显示记录集当前记录 End Sub

移动指针方法组代码(续) “上一条”命令按钮 Private Sub CmdPrevious_Click() adoRst.MovePrevious If adoRst.BOF = True Then adoRst.MoveFirst End If Call Display '显示记录集当前记录 End Sub

结束程序代码 “退出”命令按钮 Private Sub CmdExit_Click() End End Sub

16.4 数据窗体向导 添加数据窗体向导 添加方法 数据窗体向导是作为外接程序存在的 选择VB的“外接程序”菜单下的“外接程序管理器”

使用数据窗体向导 在“外接程序”菜单中选择“数据窗体向导”命令,启动数据窗体向导, 在“连接信息”对话框中,用户需要输入连接数据库的信息。 按向导提示完成后续步骤。