第13章 数据库的基本应用 Visual Basic 程序设计教程.

Slides:



Advertisements
Similar presentations
模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
Advertisements

第五章 通用网关接口 CGI 简介 Htm l Html + CGI Html + asp 网页可以处理动态的信息.
我有一份考工的理论题库,是 Excel 文件。我在想如果转换到 Word 文件中再排版,再印刷,一是浪费时间,既要做成 Word 卷, 测试完还要手工批卷;二是浪费纸张( 4 — 5 个班级近 200 多人使 用),我在想能不能做成上机试卷,在计算机上测试,多方便, 谁能帮我这个忙吗? 我有一份考工的理论题库,是.
Visual Basic 程序设计 第四讲.
主讲:史治平 地址:四川电大计算机教研室 电话:
第6章 数据库管理软件Access 年秋.
SQL的简单查询.
十一 ASP对数据库的访问.
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
第7章利用ADO.NET 进行数据访问.
課程名稱:程式設計 授課老師:________
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
第十二章 Recordset对象 Recordset对象是数据记录的集合,而数据记录又是字段集合。因此利用recordset对象,在程序中就可以存取所有数据记录每一个字段的数据了。所以说recordset对象是存取数据库数据最重要的源头。在数据库程序设计中,recordset对象是一个十分重要对象。
Access数据库程序设计 总复习.
資料庫 (Database) SQL Server 2008實作
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
文科计算机小公共课规划教材 Access 程序设计.
客户端用Net-Library和SQL SERVER连接
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
資料庫管理 資管二 賴柏融.
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
第 11 章 資料庫應用與 ADO物件 製作.
Access 2007 進銷存管理系統實作 文魁資訊股份有限公司.
Visual Basic快速入门 ADO数据控件与数据绑定控件 VB数据库编程举例 VB开发数据库应用系统实例分析
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
課程名稱:資料庫系統 授課老師:李春雄 博士
Chapter 12 T-SQL 語法與 ASP.NET.
程式語言 -Visual Basic 變數、常數與資料型態.
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
遠東科技大學資訊工程系 王善揚 可嵌入物件題庫系統 設計與開發 遠東科技大學資訊工程系 王善揚
ASP.NET 網頁製作教本 – 從基本語法學起
資料庫操作2.
課程名稱:資料庫系統 授課老師:李春雄 博士
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
SQL Server 2000 数据库入门.
資料庫程式設計 VB資料庫設計簡介 週次:2 建國科技大學 資管系 饒瑞佶.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
VB如何存取資料庫 ? 資料庫 資料儲存 資料庫引擎 資料庫引擎 Jet 讀取、寫入與修改 資料控制項 資料庫存取物件(ADO) 使用者介面.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
初识Visual Basic.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第9章 访问数据库 9.1 数据库的概念与建立 9.2 用Data控件访问数据库.
第13章 数据控件编程 Visual Basic为用户提供了多种访问数据库的方法。概括这些方法后,可以分为两大类。分别是:通过控件访问数据库和通过数据库访问技术(接口)访问数据库。这一章,将介绍使用控件访问数据库的方法。
第 13 章 深入Recordset物件 製作.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
Visual Basic 程序设计 教师:王 杨 电话:
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第12章 VBA模块设计.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
資料庫管理(Access 2003) 第五章 利用查詢來 統計與分析資料 許欽嘉 老師.
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
資料庫程式設計 VB資料庫設計簡介 週次:3 建國科技大學 資管系 饒瑞佶.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第二章、第三章错题分析.
第8章 ADO组件的使用 本章主要内容: TADOConnection组件的使用 TADOCommand组件的使用
第三章 SQL Server数据管理.
VB与数据库 数据库连接与查询.
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
Visual Basic程序设计 第13章 访问数据库
HOOK和数据库访问 主讲人:孙鑫
信息的加工 Word中查找和替换、自动更正、批注、修订 Excel中公式和函数、排序和筛选、图表的建立和编辑 字符识别OCR.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第13章 数据库的基本应用 Visual Basic 程序设计教程

第12章我们介绍了文件的基本操作,实际上使用数据库来存储和管理数据将比文件操作有更高的效率。VB具有了强大的数据库操作功能,使程序开发人员可以轻松地开发出各种数据库应用程序。 Visual Basic程序设计教程

本章介绍: 数据库的基本概念 VB可视化数据库管理器的用法 VB操作数据库的两种工具 DATA数据控件 ADO数据对象 显示数据的基本方法。 Visual Basic程序设计教程

13.1 概述 13.1.1 关系数据库 1. 数据库和数据表 数据库(DateBse)是许多相关数据根据一定的原则构成的数据集合。一个数据库由一个或多个数据表(Table)组成。 数据表中的一列称为一个字段或域(Field),表中的一行数据称为一条记录(Record)。 同一个表中字段名不允许重名 表中同一字段的数据类型相同 所有记录具有同样的字段 Visual Basic程序设计教程

学生基本情况表 Visual Basic程序设计教程

13.1.2 可视化数据管理器 2. VB可访问的数据库 VB默认的数据库格式与Access格式相同,其默认的数据库文件(.mdb)称为内部数据库。 除此之外,在VB中还可以访问: 外部数据库,如dBASE、FoxPro、Paradox等ISAM(索引顺序访问方法)数据库,以及Lotus123和Excel等电子表格数据列表 ODBC(开放式数据互接)数据库,如SQLServer等 Visual Basic程序设计教程

可视化数据管理器是VB提供的一个数据库操作的实用工具,使用它可以方便地建立数据库,并对数据表的记录进行增加、删除、修改及查询。VB默认的数据库是Access,扩展名是.mdb。 Visual Basic程序设计教程

在VB IDE中,打开“外接程序”菜单的“可视化数据管理器”命令,即打开可视 化数据管理器的“VisData”窗口,如图所示。 1.启动可视化数据管理器图 在VB IDE中,打开“外接程序”菜单的“可视化数据管理器”命令,即打开可视 化数据管理器的“VisData”窗口,如图所示。 Visual Basic程序设计教程

建立数据库→新建数据表→确定数据表的字段以及字段名、类型和长度等信息 2. 建立数据库的表结构 建立数据库→新建数据表→确定数据表的字段以及字段名、类型和长度等信息 【例】 建立一个学生.mdb数据库,在该库中新建一个名为学生基本情况表的数据表。 字段名 学号 姓名 性别 出生日期 籍贯 专业 类型 Text Data/Time 长度 7 8 2 10 20 操作步骤:建立数据库→新建数据表→建立表索引(可选) →生成表 Visual Basic程序设计教程

3. 修改表结构 “数据库窗口”快捷菜单中“设计”命令 4. 输入、编辑、删除记录 在“数据库窗口”中双击数据表 Visual Basic程序设计教程

13.1.3 使用SQL语句 结构化查询语言(SQL)是一种操作关系数据库的工业标准语言。SQL由一系列SQL语句组成。用户可以在“SQL语句”窗口中输入SQL语句,也可以在程序中使用SQL语句中来实现各种功能。下面介绍SQL的基本语句。 Visual Basic程序设计教程

SELECT语句可以从一个或多个表中选取特定的行和列。该语句基本格式如下: SELECT 字段名列表 From 表名 [Where 查询条件] [Order By 排序字段[ASC|DESC],…] 【例】: ELECT 学号,姓名,性别 From 学生基本情况表 Where 专业="计算机应用" SELECT * From 学生基本情况表 Where 性别="女" Order By 专业 Visual Basic程序设计教程

Insert语句用于向数据表中追加一条记录。语句格式如下: Insert Into 表名(字段列表) Values(字段值表) 例如 Insert Into 学生成绩表(学号,英语,程序设计) Values("2001006",85,88) Visual Basic程序设计教程

Delete语句用于删除指定条件的记录。语句格式如下: Delete From表名 Where条件 例如 Delete From 学生成绩表 Where 学号="2001006" Visual Basic程序设计教程

Update语句用于修改指定条件的记录。 语句格式如下: Update 表名 Set 字段=表达式[,字段=表达式,……] Where 条件 例如,修改学生基本情况表中学号为“2001005”的专业,可使用的Update语句如下: Update 学生基本情况表 Set 专业="计算机应用" Where 学="2001005" Visual Basic程序设计教程

【例13-1】修改例11-1程序,用数据库方法进行用户名和密码验证。界面如图所示, frmlogin窗体中添加了一个Data控件。 13.2 使用数据库方式验证用户名和密码登录程序 Visual Basic程序设计教程

建立管理员表,在管理员表中添加记录。 Data控件属性设置 Visual Basic程序设计教程 属性 属性值 说明 名称 Data1 Connect Access 连接数据库类型 DatabaseName 学生.mdb 数据库名称 Visible False 不可见 Visual Basic程序设计教程

Visual Basic程序设计教程 Dim Sql As string Private Sub cmdOK_Click() Dim Sql As string Sql = "select * from 管理员表 where 用户名='" + UserName.Text + "'" Sql = Sql + " and 密码='" + Password.Text + "'" Data1.RecordSource = Sql '用Sql语句返回记录集 Data1.Refresh '刷新数据库 If Not Data1.Recordset.EOF And nPass < 3 Then '在数据库中找到了对应的用户名和密码 frmLogin.Hide frmmain.Show Else End If End Sub Visual Basic程序设计教程

13.3 使用Data控件访问数据库 1. 窗体上添加Data控件 2. 三个重要属性 Connect:指定所连接的数据库类型,默认为Access DatabaseName:选择要访问的数据库文件 RecordSource:确定要访问的数据来源(数据表或SQL查询语句) 3. 其它常用属性 RecordSetType:设置记录集的类型 ReadOnly:设置是否以只读方式打开数据库 Visual Basic程序设计教程

13.3.1 Data控件的常用属性 程序运行时,根据Data控件设置的属性打开数据库,返回一个记录集对象(RecordSet),RecordSet对象提供和物理数据库相应的一组逻辑记录。Data控件对数据的操作主要是对RecordSet对象进行的,RecordSet对象也有自己的属性和方法。 Visual Basic程序设计教程

Visual Basic程序设计教程 属性 说明 BOF 记录指针是否指向RecordSet对象第一条记录之前 EOF RecordCount 返回RecordSet对象的记录的个数 AbsolutePosition 返回当前记录的记录号。取值范围从0开始,到RecordCount-1。 NoMatch 用Find查询方法在表中查询满足某一条件的记录,如果未找到符合条件的记录,则该属性值为True,否则值为False。 Fields 记录集中的字段,Fields(i)表示当前记录的第i个字段,i从0开始;Fields("字段名")表示当前记录的指定字段 Visual Basic程序设计教程

13.3.2 Data控件和RecordSet对象的常用方法 1.Data控件的常用方法 (1)Refresh方法 在程序运行中,如改变了Data控件的Connect、DatabaseName、RecordSource或ReadOnly等属性的值,则必须调用Refresh方法,使所作的更改生效。 Visual Basic程序设计教程

格式:Data控件名.UpdateRecord Visual Basic程序设计教程

格式:Data控件名.RecordSet.方法名 功能:在记录集上前后移动以改变当前记录。其中方法有: (1)记录的定位方法 格式:Data控件名.RecordSet.方法名 功能:在记录集上前后移动以改变当前记录。其中方法有: MoveFirst:将记录指针定位到第一条记录。 MoveLast:将记录指针定位到最后一条记录。 Visual Basic程序设计教程

MoveNext:将记录指针定位到下一条记录。 MovePrevious: 将记录指针定位到上一条记录。 (2)Update方法 格式:Data控件名.RecordSet.Update 功能:更新记录内容。通常在调用了Addnew方法后,调用该方法。 Visual Basic程序设计教程

格式:Data控件名.RecordSet.AddNew 功能:添加一条新的空白记录。用户可以给当前记录的各字段赋值,然后调用Update方法对数据表更新,否则用AddNew方法添加的记录无效。例如: Data1.RecordSet.AddNew Data1.RecordSet.Fields(0)="王刚" …… Data1.RecordSet.Update Visual Basic程序设计教程

格式:Data控件名.RecordSet.Delete 功能:删除当前记录。使用该方法删除一条记录后,需用MoveNext方法将记录指针移到下一条记录。 Visual Basic程序设计教程

(5)Edit方法 格式:Data控件名.RecordSet.Edit 功能:将当前记录的内容进行修改之前,使用Edit方法使记录处于编辑状态。与Addnew方法类似,必须再调用Update或UpdateRecord方法来更新,才使用所作的修改生效。 Visual Basic程序设计教程

格式:Data控件名.RecordSet.方法名 (6)记录的查询方法 格式:Data控件名.RecordSet.方法名 功能:在记录集中查询满足条件的记录。如果找到满足条件的记录,则记录指针将定位在找到的记录上。如果找不到满足条件的记录,则记录指针将定位记录集的末尾。其中方法有: FindFirst:查询满足条件的第一条记录。 FindLast:查询满足条件的最后一条记录。 FindNext:从当前记录开始往后查找满足条件的第一条记录。 FindPrevious:从当前记录开始往前查找满足条件的第一条记录。 Visual Basic程序设计教程

通常可以使用Find方法查找某字段的值与一表达式的值相匹配的记录,通过NoMatch属性判断是否找到。例如,在“学生基本情况表”中,查找第一条姓名为“王东”的记录,可以用如下的语句: Data1.Recordset.FindFirst "姓名='王东'" If Data1.Recordset.NoMatch Then MsgBox "数据表中没有符合条件的记录!" End If Visual Basic程序设计教程

13.3.3 Data控件的常用事件 1.Validate事件 在一条不同的记录成为当前记录之前,Update 方法之前,或者Delete、Unload 或 Close 操作之前会引发该事件。即将记录指针从X记录移到Y记录时,引发该事件。引发该事件时,当前记录仍为X记录。 Validate事件过程的格式为: Private Sub Data1_Validate (Action As Integer, Save As Integer) Visual Basic程序设计教程

在一条记录成为当前记录之后引发该事件。即将记录指针从X记录移到Y记录时,引发该事件。引发此事件时,当前记录是Y记录。 其中,Action参数用来标识引发该事件的操作。借用该参数可以根据不同的操作作不同的处理。Save参数是一个布尔表达式,用来表示是否保存已修改的数据。如果该事件退出时 save 为 True,则激活 Edit 和 UpdateRecord 方法。 2.Reposition事件 在一条记录成为当前记录之后引发该事件。即将记录指针从X记录移到Y记录时,引发该事件。引发此事件时,当前记录是Y记录。 Visual Basic程序设计教程

13.4 数据绑定控件介绍 绑定:通过对普通控件的属性设置,使得这些控件与Data控件记录集中的字段建立链接关系。 1. Data的绑定控件 13.4 数据绑定控件介绍 绑定:通过对普通控件的属性设置,使得这些控件与Data控件记录集中的字段建立链接关系。 1. Data的绑定控件 具有DataSource和DataField属性的控件可以和Data控件进行绑定,如标签、文本框等。 2. 绑定控件的属性设置 DataSource:选择所绑定的Data控件 DataField:确定需显示或更新的数据表字段,即Data控件连接的数据表字段 Visual Basic程序设计教程

【例13-2】设计一个程序,管理“学生. mdb”数据库中“学生基本情况表”的记录的内容,此数据表中的记录如表13 Visual Basic程序设计教程

分析:程序运行时要显示如图的界面,相应文本框需要分别绑定到数据控件,同时由于文本框控件已绑定,文本框中任何数据的修改都会直接改变数据库中的数据,因此需要对已更改的数据作出判断,这一过程可以通过Data控件的Validate事件完成。另外,通过Data控件的Reposition事件设置它的Caption属性。数据控件Data1和文本框的属性设置如表13.9所示。 Visual Basic程序设计教程

Visual Basic程序设计教程 对象 属性 属性值 Data1 Connect Access DatabaseName 学生数据库所在路径及名称(学生.mdb) RecordSource 学生基本情况表 Text1~Text6 DataSource DataField 分别为:学号、专业、姓名、性别和籍贯 Visual Basic程序设计教程

13.5 使用ADO控件访问数据库 ADO:ActiveX Data Objects(ActiveX数据对象) 创建ADO控件 (1) “工程”→部件” (2) 点击工具箱中, 在窗体上画出ADO对象 13.5 使用ADO控件访问数据库 Visual Basic程序设计教程

设置窗体上ADO对象的ConnectionString属性 Visual Basic程序设计教程

Visual Basic程序设计教程

选择数据表为记录源 由SQL查询来确定记录源 设置窗体上ADO对象的RecordSource属性 选择数据表为记录源 由SQL查询来确定记录源 Visual Basic程序设计教程

ADO控件与Data控件类似,对数据的操作主要通过Recordset对象的方法来实现。 ADO控件提供可响应的事件较多,常用的是WillMove事件和MoveComplete事件。当用某种方法改变纪录集的指针使其从一条记录移到另一条记录,产生WillMove事件。当一条记录成为当前记录后,产生MoveComplete事件,它在WillMove事件之后发生。 Visual Basic程序设计教程

13.6 使用DataGrid浏览数据库 DataGrid控件与ADO控件绑定后,可一次显示多条记录,并允许对显示的记录进行编辑修改,并可将修改的结果自动更新到数据库中。 使用DataGrid控件: (1) “工程”→部件” (2) 点击工具箱中 (3) 在窗体上画出 DataGrid对象 Visual Basic程序设计教程

【例13-3】用DataGrid控件显示学生基本情况表中的数据,界面如图所示 Visual Basic程序设计教程

【操作步骤】 在窗体上放置一个ADO控件和一个DataGrid控件,设置ADO控件与数据库的连接,设置DataGrid控件的DataSource属性为Adodc1,运行程序后就可以在DataGrid控件中显示学生基本情况表中的所有数据。 Visual Basic程序设计教程

事务(Transaction)是数据库系统中的一个非常重要的概念。简单地说,一组对数据库的操作组成一个事务被提交执行,那么事务处理就必须做到:要么整个操作都成功,要么什么操作都不做。 数据库本身肩负着管理事务的责任。只要应用程序指定了某段程序为一个事务并做了相应的处理(提交或回退),数据库系统会自动维护事务本身的特性。 13.7 事务处理 Visual Basic程序设计教程

VB以BeginTrans、CommitTran和RollbackTrans过程的形式提供了事务处理机制。BeginTrans开始记录对数据库的更新,用于以后可能的恢复。BeginTrans调用可以嵌套5层。激活CommitTrans,实现从最近的BeginTrans开始的所有改变。对于嵌套事务,直到关闭了所有事务记录后才执行更新。激活RollbackTrans可以取消从最近调用BeginTrans开始所做的所有改变。 Visual Basic程序设计教程

13.8 程序举例 【13-4】利用ADO控件和DataGrid控件,设计成绩查询程序,界面如图13-15所示。界面中包含一个ADO控件、一个DataGrid控件、一个标签、一个文本框和两个命令按钮,命令按钮采用控件数组形式。 Visual Basic程序设计教程